oneuptime/docker-compose.dev.yml
2022-07-07 20:35:00 +01:00

652 lines
23 KiB
YAML

# This docker file is for development.
# It connects to debugging ports that help you debug the app.
version: '3.7'
x-common-variables: &common-variables
IS_SAAS_SERVICE: ${IS_SAAS_SERVICE}
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:
network: host
context: ./Haraka
args:
PORT: '2525'
env_file:
- ./Haraka/.env
postgres:
image: postgres:latest
restart: always
env_file:
- ./Postgres/.env
ports:
- '5400:5432'
volumes:
- postgres:/var/lib/postgresql/data
mail:
ports:
- 9110:9229 # Debugging port.
- 3190:3190
build:
network: host
context: .
dockerfile: ./Mail/Dockerfile.dev
env_file:
- ./Common/.env
- ./CommonServer/.env
- ./Mail/.env
environment: *common-variables
depends_on:
- haraka
- postgres
volumes:
- ./Mail:/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/
- ./Common:/usr/src/Common
- ./CommonServer:/usr/src/CommonServer
- ./CommonUI:/usr/src/CommonUI
- /usr/src/Common/node_modules/
- /usr/src/CommonUI/node_modules/
- /usr/src/CommonServer/node_modules/
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:5.0.7
ports:
- '6390:6379'
command: redis-server
env_file:
- ./Redis/.env
accounts:
ports:
- '3003:3003'
build:
network: host
context: .
dockerfile: ./Accounts/Dockerfile.dev
env_file:
- ./Common/.env
- ./CommonUI/.env
- ./Accounts/.env
environment: *common-variables
depends_on:
- identity
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/
- ./Common:/usr/src/Common
- ./CommonServer:/usr/src/CommonServer
- ./CommonUI:/usr/src/CommonUI
- /usr/src/Common/node_modules/
- /usr/src/CommonUI/node_modules/
- /usr/src/CommonServer/node_modules/
dashboard:
ports:
- '3009:3009'
build:
network: host
context: .
dockerfile: ./Dashboard/Dockerfile.dev
env_file:
- ./Common/.env
- ./CommonUI/.env
- ./Accounts/.env
environment: *common-variables
depends_on:
- identity
- accounts
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/
- ./Common:/usr/src/Common
- ./CommonServer:/usr/src/CommonServer
- ./CommonUI:/usr/src/CommonUI
- /usr/src/Common/node_modules/
- /usr/src/CommonUI/node_modules/
- /usr/src/CommonServer/node_modules/
# data-ingestor:
# ports:
# - '3200:3200'
# - '9338:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./DataIngestor/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./DataIngestor/.env
# environment: *common-variables
# depends_on:
# - script-runner
# - dashboard-api
# - realtime
# volumes:
# - ./DataIngestor:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# realtime:
# ports:
# - '3300:3300'
# - '9250:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./Realtime/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./Realtime/.env
# environment: *common-variables
# 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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# helmchart:
# ports:
# - '3423:3423'
# build:
# network: host
# context: .
# dockerfile: ./HelmChart/Dockerfile
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./HelmChart/.env
# environment: *common-variables
# volumes:
# - ./HelmChart:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# probe-api:
# ports:
# - '3400:3400'
# - '9251:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./ProbeAPI/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./ProbeAPI/.env
# environment: *common-variables
# volumes:
# - ./ProbeAPI:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# # There can only be one probe in developer docker compose.
# probe:
# ports:
# - '9238:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./Probe/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./Probe/.env
# environment:
# <<: *common-variables
# PROBE_NAME: Probe 1
# PROBE_KEY: test-key
# 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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# api-docs:
# ports:
# - '1445:1445'
# build:
# network: host
# context: .
# dockerfile: ./ApiDocs/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./ApiDocs/.env
# environment: *common-variables
# volumes:
# - ./ApiDocs:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# script-runner:
# ports:
# - '3009:3009'
# - '9236:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./ScriptRunner/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./ScriptRunner/.env
# environment: *common-variables
# volumes:
# - ./ScriptRunner:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
dashboard-api:
ports:
- '3002:3002'
- '9232:9229' # Debugging port.
build:
network: host
context: .
dockerfile: ./DashboardAPI/Dockerfile.dev
env_file:
- ./Common/.env
- ./CommonServer/.env
- ./DashboardAPI/.env
environment: *common-variables
depends_on:
- redis
- postgres
- mail
links:
- redis
- postgres
- mail
volumes:
- ./DashboardAPI:/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/
- ./Common:/usr/src/Common
- ./CommonServer:/usr/src/CommonServer
- ./CommonUI:/usr/src/CommonUI
- /usr/src/Common/node_modules/
- /usr/src/CommonUI/node_modules/
- /usr/src/CommonServer/node_modules/
identity:
ports:
- '3087:3087'
- '9132:9229' # Debugging port.
build:
network: host
context: .
dockerfile: ./Identity/Dockerfile.dev
env_file:
- ./Common/.env
- ./CommonServer/.env
- ./Identity/.env
environment: *common-variables
depends_on:
- redis
- postgres
- mail
links:
- redis
- postgres
- mail
volumes:
- ./Identity:/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/
- ./Common:/usr/src/Common
- ./CommonServer:/usr/src/CommonServer
- ./CommonUI:/usr/src/CommonUI
- /usr/src/Common/node_modules/
- /usr/src/CommonUI/node_modules/
- /usr/src/CommonServer/node_modules/
# alert:
# ports:
# - '3088:3088'
# - '9133:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./Alert/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./Alert/.env
# environment: *common-variables
# depends_on:
# - redis
# - postgres
# volumes:
# - ./Alert:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# integration:
# ports:
# - '3089:3089'
# - '9134:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./Integration/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./Integration/.env
# environment: *common-variables
# depends_on:
# - redis
# - postgres
# volumes:
# - ./Integration:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
home:
ports:
- '1444:1444'
- '9235:9229' # Debugging port.
env_file:
- ./Common/.env
- ./CommonServer/.env
- ./Home/.env
environment: *common-variables
build:
network: host
context: .
dockerfile: ./Home/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/
- ./Common:/usr/src/Common
- ./CommonServer:/usr/src/CommonServer
- ./CommonUI:/usr/src/CommonUI
- /usr/src/Common/node_modules/
- /usr/src/CommonUI/node_modules/
- /usr/src/CommonServer/node_modules/
# status-page:
# ports:
# - '3006:3006'
# build:
# network: host
# context: .
# dockerfile: ./StatusPage/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonUI/.env
# - ./StatusPage/.env
# environment: *common-variables
# volumes:
# - ./StatusPage:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# admin-dashboard:
# ports:
# - '3100:3100'
# build:
# network: host
# context: .
# dockerfile: ./AdminDashboard/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonUI/.env
# - ./AdminDashboard/.env
# environment: *common-variables
# volumes:
# - ./AdminDashboard:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# http-test-server:
# ports:
# - '3010:3010'
# - '9234:9229' # Debugging port.
# env_file:
# - ./Common/.env
# - ./CommonUI/.env
# - ./HttpTestServer/.env
# environment: *common-variables
# build:
# network: host
# context: .
# dockerfile: ./HTTPTestServer/Dockerfile.dev
# volumes:
# - ./HttpTestServer:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# licensing:
# ports:
# - '3004:3004'
# - '9233:9229' # Debugging port.
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./Licensing/.env
# environment: *common-variables
# build:
# network: host
# context: .
# dockerfile: ./Licensing/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# application-scanner:
# ports:
# - '3005:3005'
# - '9240:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./ApplicationScanner/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./ApplicationScanner/.env
# environment: *common-variables
# volumes:
# - ./ApplicationScanner:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# container-scanner:
# ports:
# - '3055:3055'
# - '9242:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./ContainerScanner/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./ContainerScanner/.env
# environment: *common-variables
# volumes:
# - ./ContainerScanner:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
# lighthouse-runner:
# ports:
# - '3015:3015'
# - '9241:9229' # Debugging port.
# build:
# network: host
# context: .
# dockerfile: ./LighthouseRunner/Dockerfile.dev
# env_file:
# - ./Common/.env
# - ./CommonServer/.env
# - ./LighthouseRunner/.env
# environment: *common-variables
# volumes:
# - ./LighthouseRunner:/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/
# - ./Common:/usr/src/Common
# - ./CommonServer:/usr/src/CommonServer
# - ./CommonUI:/usr/src/CommonUI
# - /usr/src/Common/node_modules/
# - /usr/src/CommonUI/node_modules/
# - /usr/src/CommonServer/node_modules/
nginx:
depends_on:
- identity
- accounts
- dashboard
- home
restart: always
build:
dockerfile: Dockerfile
network: host
context: ./Nginx
ports:
- '80:80'
- '443:443'
volumes:
postgres: