mirror of
https://github.com/OneUptime/oneuptime
synced 2024-11-21 22:59:07 +00:00
436 lines
14 KiB
YAML
436 lines
14 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:
|
|
network: host
|
|
context: ./haraka
|
|
args:
|
|
PORT: '2525'
|
|
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}"
|
|
|
|
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:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./accounts/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/
|
|
|
|
data-ingestor:
|
|
ports:
|
|
- '3200:3200'
|
|
- '9338:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./data-ingestor/Dockerfile.dev
|
|
env_file:
|
|
- ./DataIngestor/.env
|
|
environment:
|
|
- SERVER_URL=http://dashboard-api:3002
|
|
- CLUSTER_KEY=test
|
|
- SCRIPT_RUNNER_URL=http://ScriptRunner:3009
|
|
- MONGO_URL=mongodb://mongo:27017/oneuptimedb
|
|
- REALTIME_URL=http://realtime:3300
|
|
depends_on:
|
|
- mongo
|
|
- ScriptRunner
|
|
- dashboard-api
|
|
- 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'
|
|
- '9250:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./realtime/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
|
|
|
|
ProbeAPI:
|
|
ports:
|
|
- '3400:3400'
|
|
- '9251:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./ProbeAPI/Dockerfile.dev
|
|
env_file:
|
|
- ./ProbeAPI/.env
|
|
environment:
|
|
- CLUSTER_KEY=test
|
|
- PORT=3400
|
|
- MONGO_URL=mongodb://mongo:27017/oneuptimedb
|
|
- REALTIME_URL=http://realtime:3300
|
|
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/
|
|
- /usr/src/app/greenlock.d/
|
|
|
|
# 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:
|
|
- ./Probe/.env
|
|
environment:
|
|
- PORT=3008
|
|
- SERVER_URL=http://dashboard-api: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
|
|
- PROBE_API_URL=http://ProbeAPI:3400
|
|
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/
|
|
|
|
ApiDocs:
|
|
ports:
|
|
- '1445:1445'
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./ApiDocs/Dockerfile.dev
|
|
env_file:
|
|
- ./ApiDocs/.env
|
|
environment:
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
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/
|
|
|
|
InitScript:
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./InitScript/Dockerfile.dev
|
|
ports:
|
|
- '1447:1447'
|
|
- '9237:9229' # Debugging port.
|
|
env_file:
|
|
- ./InitScript/.env
|
|
environment:
|
|
- MONGO_URL=mongodb://mongo:27017/oneuptimedb
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
- NODE_ENV=development
|
|
depends_on:
|
|
- mongo
|
|
- redis
|
|
volumes:
|
|
- ./InitScript:/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/
|
|
|
|
ScriptRunner:
|
|
ports:
|
|
- '3009:3009'
|
|
- '9236:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./ScriptRunner/Dockerfile.dev
|
|
env_file:
|
|
- ./ScriptRunner/.env
|
|
environment:
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
- SERVER_URL=http://dashboard-api:3002
|
|
- CLUSTER_KEY=test
|
|
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/
|
|
|
|
dashboard-api:
|
|
ports:
|
|
- '3002:3002' # Service Port.
|
|
- '9232:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./dashboard-api/Dockerfile.dev
|
|
env_file:
|
|
- ./DashboardAPI/.env
|
|
environment:
|
|
- MONGO_URL=mongodb://mongo:27017/oneuptimedb
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
- SCRIPT_RUNNER_URL=http://ScriptRunner:3009
|
|
- CLUSTER_KEY=test
|
|
- REALTIME_URL=http://realtime:3300
|
|
depends_on:
|
|
- mongo
|
|
- redis
|
|
volumes:
|
|
- ./dashboard-api:/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:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./dashboard/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:
|
|
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/
|
|
|
|
StatusPage:
|
|
ports:
|
|
- '3006:3006'
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./StatusPage/Dockerfile.dev
|
|
env_file:
|
|
- ./StatusPage/.env
|
|
environment:
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
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/
|
|
|
|
AdminDashboard:
|
|
ports:
|
|
- '3100:3100'
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./AdminDashboard/Dockerfile.dev
|
|
env_file:
|
|
- ./AdminDashboard/.env
|
|
environment:
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
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/
|
|
|
|
HttpTestServer:
|
|
ports:
|
|
- '3010:3010'
|
|
- '9234:9229' # Debugging port.
|
|
env_file:
|
|
- ./HttpTestServer/.env
|
|
environment:
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
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/
|
|
|
|
licensing:
|
|
ports:
|
|
- '3004:3004'
|
|
- '9233:9229' # Debugging port.
|
|
env_file:
|
|
- ./licensing/.env
|
|
environment:
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
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/
|
|
ApplicationScanner:
|
|
ports:
|
|
- '3005:3005'
|
|
- '9240:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./ApplicationScanner/Dockerfile.dev
|
|
env_file:
|
|
- ./ApplicationScanner/.env
|
|
environment:
|
|
- PORT=3005
|
|
- SERVER_URL=http://dashboard-api:3002
|
|
- APPLICATION_SCANNER_NAME=US
|
|
- APPPLICATION_SCANNER_KEY=test-key
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
- CLUSTER_KEY=test
|
|
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/
|
|
ContainerScanner:
|
|
ports:
|
|
- '3055:3055'
|
|
- '9242:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./ContainerScanner/Dockerfile.dev
|
|
env_file:
|
|
- ./ContainerScanner/.env
|
|
environment:
|
|
- PORT=3055
|
|
- SERVER_URL=http://dashboard-api:3002
|
|
- CONTAINER_SCANNER_NAME=US
|
|
- CONTAINER_SCANNER_KEY=test-key
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
- CLUSTER_KEY=test
|
|
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/
|
|
LighthouseRunner:
|
|
ports:
|
|
- '3015:3015'
|
|
- '9241:9229' # Debugging port.
|
|
build:
|
|
network: host
|
|
context: .
|
|
dockerfile: ./LighthouseRunner/Dockerfile.dev
|
|
env_file:
|
|
- ./LighthouseRunner/.env
|
|
environment:
|
|
- PORT=3015
|
|
- SERVER_URL=http://dashboard-api:3002
|
|
- IS_SAAS_SERVICE=${IS_SAAS_SERVICE}
|
|
- CLUSTER_KEY=test
|
|
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/
|
|
nginx:
|
|
depends_on:
|
|
- mongo
|
|
- dashboard-api
|
|
- home
|
|
- dashboard
|
|
- accounts
|
|
- AdminDashboard
|
|
restart: always
|
|
build:
|
|
dockerfile: Dockerfile
|
|
network: host
|
|
context: ./nginx
|
|
ports:
|
|
- '80:80'
|
|
- '443:443'
|
|
volumes:
|
|
mongodata:
|