init push
This commit is contained in:
86
docker-compose.yml
Normal file
86
docker-compose.yml
Normal file
@@ -0,0 +1,86 @@
|
||||
# This stack runs API, email worker, and file worker containers.
|
||||
# Ensure envs in .env point to endpoints reachable from inside containers.
|
||||
# In particular, MYSQL_DSN/SQS/SES values using 127.0.0.1 will not work unless they are
|
||||
# changed to a host or service name that containers can reach.
|
||||
services:
|
||||
api:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: api
|
||||
image: localhost/wucher-api:dev
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
HTTP_PORT: "8080"
|
||||
ports:
|
||||
- "8080:8080"
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- ALL
|
||||
healthcheck:
|
||||
test: ["CMD", "/app/healthcheck", "http://127.0.0.1:8080/health"]
|
||||
interval: 30s
|
||||
timeout: 3s
|
||||
start_period: 20s
|
||||
retries: 3
|
||||
|
||||
worker:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: worker
|
||||
image: localhost/wucher-worker:dev
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
# Bind to all interfaces so the monitor endpoint can be reached from the host.
|
||||
QUEUE_WORKER_MONITOR_ADDR: "0.0.0.0:9090"
|
||||
WORKER_JOB: "email"
|
||||
ports:
|
||||
- "9090:9090"
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- ALL
|
||||
healthcheck:
|
||||
test: ["CMD", "/app/healthcheck", "http://127.0.0.1:9090/health"]
|
||||
interval: 30s
|
||||
timeout: 3s
|
||||
start_period: 20s
|
||||
retries: 3
|
||||
|
||||
gotenberg:
|
||||
image: gotenberg/gotenberg:8
|
||||
ports:
|
||||
- "3000:3000"
|
||||
restart: unless-stopped
|
||||
|
||||
file-worker:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: file-worker
|
||||
image: localhost/wucher-file-worker:dev
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
# Bind to all interfaces so the monitor endpoint can be reached from the host.
|
||||
QUEUE_WORKER_MONITOR_ADDR: "0.0.0.0:9091"
|
||||
WORKER_JOB: "file_processing"
|
||||
ports:
|
||||
- "9091:9091"
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
- ALL
|
||||
healthcheck:
|
||||
test: ["CMD", "/app/healthcheck", "http://127.0.0.1:9091/health"]
|
||||
interval: 30s
|
||||
timeout: 3s
|
||||
start_period: 20s
|
||||
retries: 3
|
||||
Reference in New Issue
Block a user