oneuptime/docker-compose.dev.yml
2021-07-06 09:40:12 +01:00

308 lines
10 KiB
YAML

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/
# 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
- PROBE_NAME=Probe 1
- PROBE_KEY=test-key
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
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
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
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}
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/
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}
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: