ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/db Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/cli Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
101 lines
2.1 KiB
YAML
101 lines
2.1 KiB
YAML
services:
|
|
goto-app:
|
|
image: goto:local
|
|
platform: linux/amd64
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/web/Dockerfile
|
|
target: prod
|
|
working_dir: /app
|
|
env_file:
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: 3000
|
|
ports:
|
|
- '127.0.0.1:3000:3000'
|
|
volumes:
|
|
- ./config:/app/config:ro
|
|
- ./data:/app/data
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:rw,noexec,nosuid,size=16m
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- node
|
|
- --eval
|
|
- fetch('http://localhost:3000/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))
|
|
interval: 30s
|
|
timeout: 3s
|
|
start_period: 5s
|
|
retries: 3
|
|
|
|
goto-worker:
|
|
image: goto-worker:local
|
|
platform: linux/amd64
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/worker/Dockerfile
|
|
target: prod
|
|
working_dir: /app
|
|
env_file:
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: 9000
|
|
volumes:
|
|
- ./config:/app/config:ro
|
|
- ./data:/app/data
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:rw,noexec,nosuid,size=16m
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- node
|
|
- --eval
|
|
- fetch('http://localhost:9000/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))
|
|
interval: 30s
|
|
timeout: 3s
|
|
start_period: 5s
|
|
retries: 3
|
|
|
|
goto-cli:
|
|
image: goto-cli:local
|
|
platform: linux/amd64
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/cli/Dockerfile
|
|
target: prod
|
|
profiles:
|
|
- tools
|
|
env_file:
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: 3000
|
|
volumes:
|
|
- ./config:/app/config:ro
|
|
read_only: true
|
|
network_mode: none
|
|
tmpfs:
|
|
- /tmp:rw,noexec,nosuid,size=16m
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|