version: '3.7' services: ##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' build: context: ./haraka args: PORT: '2525' environment: - SMTP_USER=user@fyipe.com - SMTP_PASSWORD=fyipe - DOMAIN="${DOMAIN}" - DKIM_PRIVATE_KEY="${DKIM_PRIVATE_KEY}" - TLS_CERT="${TLS_CERT}" - TLS_KEY="${TLS_KEY}" 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: - '6390:6379' command: redis-server accounts: ports: - '3003:3003' build: context: ./accounts dockerfile: ./Dockerfile.dev env_file: - ./accounts/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} volumes: - ./accounts:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ ingestor: ports: - '3200:3200' - '9239:9229' # Debugging port. build: context: ./data-ingestor dockerfile: ./Dockerfile.dev env_file: - ./data-ingestor/.env environment: - SERVER_URL=http://backend:3002 - CLUSTER_KEY=test - SCRIPT_RUNNER_URL=http://script-runner:3009 - MONGO_URL=mongodb://mongo:27017/fyipedb - REALTIME_URL=http://realtime:3300 depends_on: - mongo - script-runner - backend - realtime volumes: - ./data-ingestor:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ realtime: ports: - '3300:3300' - '9240:9229' # Debugging port. build: context: ./realtime dockerfile: ./Dockerfile.dev env_file: - ./realtime/.env environment: - CLUSTER_KEY=test - PORT=3300 volumes: - ./realtime:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules # There can only be one probe in developer docker compose. probe: ports: - '3008:3008' - '9238:9229' # Debugging port. build: context: ./probe dockerfile: ./Dockerfile.dev env_file: - ./probe/.env environment: - PORT=3008 - SERVER_URL=http://backend:3002 - DATA_INGESTOR_URL=http://data-ingestor:3200 - PROBE_NAME=Probe 1 - PROBE_KEY=test-key - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test volumes: - ./probe:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ - /usr/src/app/greenlock.d/ api-docs: ports: - '1445:1445' build: context: ./api-docs dockerfile: ./Dockerfile.dev env_file: - ./api-docs/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} volumes: - ./api-docs:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ init-script: build: context: ./init-script dockerfile: ./Dockerfile.dev ports: - '1447:1447' - '9237:9229' # Debugging port. env_file: - ./init-script/.env environment: - MONGO_URL=mongodb://mongo:27017/fyipedb - REDIS_HOST=redis - REDIS_PORT=6379 - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - NODE_ENV=development depends_on: - mongo - redis volumes: - ./init-script:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ script-runner: ports: - '3009:3009' - '9236:9229' # Debugging port. build: context: ./script-runner dockerfile: ./Dockerfile.dev env_file: - ./script-runner/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - SERVER_URL=http://backend:3002 - CLUSTER_KEY=test volumes: - ./script-runner:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ backend: ports: - '3002:3002' # Service Port. - '9232:9229' # Debugging port. build: context: ./backend dockerfile: ./Dockerfile.dev env_file: - ./backend/.env environment: - MONGO_URL=mongodb://mongo:27017/fyipedb - REDIS_HOST=redis - REDIS_PORT=6379 - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - SCRIPT_RUNNER_URL=http://script-runner:3009 - CLUSTER_KEY=test depends_on: - mongo - redis volumes: - ./backend:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ # Exclude greenlock as well. - /usr/src/app/greenlock.d/ dashboard: ports: - '3000:3000' build: context: ./dashboard dockerfile: ./Dockerfile.dev env_file: - ./dashboard/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} volumes: - ./dashboard:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ home: ports: - '1444:1444' - '9235:9229' # Debugging port. env_file: - ./home/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} build: context: ./home dockerfile: ./Dockerfile.dev volumes: - ./home:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ status-page: ports: - '3006:3006' build: context: ./status-page dockerfile: ./Dockerfile.dev env_file: - ./status-page/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} volumes: - ./status-page:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ admin-dashboard: ports: - '3100:3100' build: context: ./admin-dashboard dockerfile: ./Dockerfile.dev env_file: - ./admin-dashboard/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} volumes: - ./admin-dashboard:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ http-test-server: ports: - '3010:3010' - '9234:9229' # Debugging port. env_file: - ./http-test-server/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} build: context: ./http-test-server dockerfile: ./Dockerfile.dev volumes: - ./http-test-server:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ licensing: ports: - '3004:3004' - '9233:9229' # Debugging port. env_file: - ./licensing/.env environment: - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} build: context: ./licensing dockerfile: ./Dockerfile.dev volumes: - ./licensing:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ application-scanner: ports: - '3005:3005' - '9240:9229' # Debugging port. build: context: ./application-scanner dockerfile: ./Dockerfile.dev env_file: - ./application-scanner/.env environment: - PORT=3005 - SERVER_URL=http://backend:3002 - APPLICATION_SCANNER_NAME=US - APPPLICATION_SCANNER_KEY=test-key - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test volumes: - ./application-scanner:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ container-scanner: ports: - '3055:3055' - '9242:9229' # Debugging port. build: context: ./container-scanner dockerfile: ./Dockerfile.dev env_file: - ./container-scanner/.env environment: - PORT=3055 - SERVER_URL=http://backend:3002 - CONTAINER_SCANNER_NAME=US - CONTAINER_SCANNER_KEY=test-key - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test volumes: - ./container-scanner:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ lighthouse-runner: ports: - '3015:3015' - '9241:9229' # Debugging port. build: context: ./lighthouse-runner dockerfile: ./Dockerfile.dev env_file: - ./lighthouse-runner/.env environment: - PORT=3015 - SERVER_URL=http://backend:3002 - IS_SAAS_SERVICE=${IS_SAAS_SERVICE} - CLUSTER_KEY=test volumes: - ./lighthouse-runner:/usr/src/app # Use node modules of the container and not host system. # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder - /usr/src/app/node_modules/ volumes: mongodata: