# This docker file is for CI. # It it builds and tests docker containers in the CI pipeline. version: '3.7' x-common-variables: &common-variables IS_SAAS_SERVICE: ${IS_SAAS_SERVICE} services: postgres: image: postgres:latest restart: always env_file: - ./Postgres/.env ports: - '5400:5432' volumes: - postgres:/var/lib/postgresql/data saml: image: kenchan0130/simplesamlphp ports: - 9876:8080 - 8443:8443 env_file: - ./Common/.env - ./CommonServer/.env - ./SAML/.env volumes: - ./saml/users.php:/var/www/simplesamlphp/config/authsources.php redis: image: redis:7.0.3 ports: - '6379:6379' command: redis-server env_file: - ./Redis/.env dashboard-api: ports: - '3002:3002' build: context: . dockerfile: ./DashboardAPI/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./DashboardAPI/.env environment: *common-variables depends_on: - redis - haraka - script-runner identity: ports: - '3087:3087' build: context: . dockerfile: ./Identity/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Identity/.env environment: *common-variables depends_on: - redis - postgres - mail alert: ports: - '3088:3088' build: context: . dockerfile: ./Alert/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Alert/.env environment: *common-variables depends_on: - redis - postgres integration: ports: - '3089:3089' build: context: . dockerfile: ./Integration/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Integration/.env environment: *common-variables depends_on: - redis - postgres accounts: ports: - '3003:3003' build: context: . dockerfile: ./Accounts/Dockerfile env_file: - ./Common/.env - ./CommonUI/.env - ./Accounts/.env environment: *common-variables depends_on: - identity dashboard: ports: - '3009:3009' build: context: . dockerfile: ./Dashboard/Dockerfile env_file: - ./Common/.env - ./CommonUI/.env - ./Dashboard/.env environment: *common-variables depends_on: - dashboard-api - accounts home: ports: - '1444:1444' env_file: - ./Common/.env - ./CommonUI/.env - ./Home/.env environment: *common-variables build: context: . dockerfile: ./Home/Dockerfile status-page: ports: - '3006:3006' build: context: . dockerfile: ./status-page/Dockerfile env_file: - ./Common/.env - ./CommonUI/.env - ./StatusPage/.env environment: *common-variables depends_on: - dashboard-api - accounts - dashboard admin-dashboard: ports: - '3100:3100' build: context: . dockerfile: ./AdminDashboard/Dockerfile env_file: - ./Common/.env - ./CommonUI/.env - ./AdminDashboard/.env environment: *common-variables depends_on: - dashboard-api - accounts http-test-server: ports: - '3010:3010' env_file: - ./Common/.env - ./CommonUI/.env - ./HttpTestServer/.env environment: *common-variables build: context: . dockerfile: ./HttpTestServer/Dockerfile licensing: ports: - '3004:3004' env_file: - ./Common/.env - ./CommonServer/.env - ./Licensing/.env environment: *common-variables build: context: . dockerfile: ./Licensing/Dockerfile data-ingestor: ports: - '3200:3200' build: context: . dockerfile: ./DataIngestor/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./DataIngestor/.env environment: *common-variables depends_on: - script-runner - dashboard-api - realtime realtime: ports: - '3300:3300' build: context: . dockerfile: ./Realtime/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Realtime/.env environment: *common-variables helmchart: ports: - '3423:3423' build: context: . dockerfile: ./HelmChart/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./HelmChart/.env environment: *common-variables probe-api: ports: - '3400:3400' build: context: . dockerfile: ./ProbeAPI/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./ProbeAPI/.env environment: *common-variables probe1: build: context: . dockerfile: ./Probe/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Probe/.env environment: <<: *common-variables PROBE_NAME: Probe 1 PROBE_KEY: test-key depends_on: - dashboard-api - data-ingestor probe2: build: context: . dockerfile: ./Probe/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Probe/.env environment: <<: *common-variables PROBE_NAME: Probe 2 PROBE_KEY: test-key depends_on: - dashboard-api - data-ingestor api-docs: ports: - '1445:1445' build: context: . dockerfile: ./ApiDocs/Dockerfile env_file: - ./Common/.env - ./CommonUI/.env - ./ApiDocs/.env environment: *common-variables haraka: ports: - '2525:2525' build: context: ./Haraka args: PORT: '2525' env_file: - ./Haraka/.env script-runner: ports: - '3009:3009' build: context: . dockerfile: ./ScriptRunner/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./ScriptRunner/.env environment: *common-variables application-scanner: ports: - '3005:3005' build: context: . dockerfile: ./ApplicationScanner/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./ApplicationScanner/.env environment: *common-variables depends_on: - dashboard-api mail: ports: - 3190:3190 build: context: . dockerfile: ./Mail/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./Mail/.env environment: *common-variables depends_on: - haraka - postgres container-scanner: ports: - '3055:3055' build: context: . dockerfile: ./ContainerScanner/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./ContainerScanner/.env environment: *common-variables depends_on: - dashboard-api lighthouse-runner: ports: - '3015:3015' build: context: . dockerfile: ./LighthouseRunner/Dockerfile env_file: - ./Common/.env - ./CommonServer/.env - ./LighthouseRunner/.env environment: *common-variables depends_on: - dashboard-api nginx: depends_on: - dashboard-api - home - dashboard - accounts - admin-dashboard restart: always build: dockerfile: Dockerfile context: ./Nginx ports: - '80:80' - '443:443' volumes: postgres: