version: '3.7' services: mongo: image: mongo:4.2.3 ports: - '27017:27017' volumes: - mongodata:/data/db saml: image: kenchan0130/simplesamlphp ports: - 9876:8080 - 8443:8443 environment: - SIMPLESAMLPHP_SP_ENTITY_ID=hackerbay.io - SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE=http://localhost:3002/api/user/sso/callback - SIMPLESAMLPHP_SP_SINGLE_LOGOUT_SERVICE=http://localhost/simplesaml/module.php/saml/sp/saml2-logout.php/test-sp volumes: - ./saml/users.php:/var/www/simplesamlphp/config/authsources.php redis: image: redis:5.0.7 ports: - '6379:6379' command: redis-server dashboard-api: ports: - '3002:3002' image: oneuptime/dashboard-api:latest env_file: - ./DashboardAPI/.env environment: - MONGO_URL=mongodb://mongo:27017/oneuptimedb - REDIS_HOST=redis - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - SCRIPT_RUNNER_URL=http://script-runner:3009 - CLUSTER_KEY=test - REALTIME_URL=http://realtime:3300 depends_on: - mongo - redis - haraka - script-runner accounts: ports: - '3003:3003' image: oneuptime/accounts:latest env_file: - ./Accounts/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} depends_on: - dashboard-api dashboard: ports: - '3000:3000' image: oneuptime/dashboard:latest env_file: - ./Dashboard/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} depends_on: - dashboard-api - accounts home: ports: - '1444:1444' env_file: - ./Home/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} image: oneuptime/home:latest status-page: ports: - '3006:3006' image: oneuptime/status-page:latest env_file: - ./StatusPage/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} depends_on: - dashboard-api - accounts - dashboard admin-dashboard: ports: - '3100:3100' image: oneuptime/admin-dashboard:latest env_file: - ./AdminDashboard/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} depends_on: - dashboard-api - accounts http-test-server: ports: - '3010:3010' env_file: - ./HttpTestServer/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} image: oneuptime/http-test-server:latest licensing: ports: - '3004:3004' env_file: - ./Licensing/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} image: oneuptime/licensing:latest data-ingestor: ports: - '3200:3200' image: oneuptime/data-ingestor:latest env_file: - ./DataIngestor/.env environment: - SERVER_URL=http://dashboard-api:3002 - CLUSTER_KEY=test - SCRIPT_RUNNER_URL=http://script-runner:3009 - MONGO_URL=mongodb://mongo:27017/oneuptimedb - REALTIME_URL=http://realtime:3300 depends_on: - mongo - script-runner - dashboard-api - realtime realtime: ports: - '3300:3300' image: oneuptime/realtime:latest env_file: - ./Realtime/.env environment: - CLUSTER_KEY=test - PORT=3300 probe-api: ports: - '3400:3400' image: oneuptime/probe-api:latest env_file: - ./ProbeAPI/.env environment: - CLUSTER_KEY=test - PORT=3400 - MONGO_URL=mongodb://mongo:27017/oneuptimedb - REALTIME_URL=http://realtime:3300 probe1: image: oneuptime/probe:latest env_file: - ./Probe/.env environment: - PORT=3024 - SERVER_URL=http://dashboard-api:3002 - PROBE_NAME=Probe 1 - PROBE_KEY=test-key - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test - DATA_INGESTOR_URL=http://data-ingestor:3200 - PROBE_API_URL=http://probe-api:3400 depends_on: - dashboard-api - data-ingestor probe2: image: oneuptime/probe:latest env_file: - ./Probe/.env environment: - PORT=3025 - SERVER_URL=http://dashboard-api:3002 - PROBE_NAME=Probe 2 - PROBE_KEY=test-key - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test - DATA_INGESTOR_URL=http://data-ingestor:3200 depends_on: - dashboard-api - data-ingestor api-docs: ports: - '1445:1445' image: oneuptime/api-docs:latest env_file: - ./ApiDocs/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} init-script: image: oneuptime/init-script:latest ports: - '1447:1447' env_file: - ./InitScript/.env environment: - MONGO_URL=mongodb://mongo:27017/oneuptimedb - REDIS_HOST=redis - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - NODE_ENV=${NODE_ENV} depends_on: - mongo - redis ##IMPORTANT: ## This container is an SMTP server used to send emails. ## Setup private, tls_cert and tls_key keys before running this part haraka: ports: - '2525:2525' image: oneuptime/haraka:latest environment: - SMTP_USER=user@oneuptime.com - SMTP_PASSWORD=oneuptime - DOMAIN="${DOMAIN}" - DKIM_PRIVATE_KEY="${DKIM_PRIVATE_KEY}" - TLS_CERT="${TLS_CERT}" - TLS_KEY="${TLS_KEY}" script-runner: ports: - '3009:3009' image: oneuptime/script-runner:latest env_file: - ./ScriptRunner/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - SERVER_URL=http://dashboard-api:3002 - CLUSTER_KEY=test mail: ports: - '3009:3009' image: oneuptime/mail:latest env_file: - ./Mail/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - SERVER_URL=http://mail:3190 - CLUSTER_KEY=test application-scanner: ports: - '3005:3005' image: oneuptime/application-scanner:latest env_file: - ./ApplicationScanner/.env environment: - PORT=3005 - SERVER_URL=http://dashboard-api:3002 - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test depends_on: - dashboard-api container-scanner: ports: - '3055:3055' image: oneuptime/container-scanner:latest env_file: - ./ContainerScanner/.env environment: - PORT=3055 - SERVER_URL=http://dashboard-api:3002 - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test depends_on: - dashboard-api lighthouse-runner: ports: - '3015:3015' image: oneuptime/lighthouse-runner:latest env_file: - ./LighthouseRunner/.env environment: - PORT=3015 - SERVER_URL=http://dashboard-api:3002 - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test depends_on: - dashboard-api nginx: depends_on: - mongo - dashboard-api - home - dashboard - accounts - admin-dashboard restart: always image: oneuptime/nginx:latest ports: - '80:80' - '443:443' volumes: mongodata: