Files
when/apps/web/docker-compose.dev.yml
eleith e11ef0d16f
ci/woodpecker/pr/calendar Pipeline was successful
ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/db Pipeline was successful
ci/woodpecker/pr/jobs Pipeline was successful
ci/woodpecker/pr/video-chat Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/calendar 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/jobs Pipeline was successful
ci/woodpecker/push/video-chat Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
feat(config): make Docker onboarding YAML-first
2026-11-01 19:04:16 -08:00

118 lines
3.1 KiB
YAML

services:
when-app:
env_file:
- path: .env
required: false
build:
context: ../..
dockerfile: apps/web/Dockerfile
target: dev
restart: unless-stopped
user: '${UID:-1000}:${GID:-1000}'
ports:
- '5173:5173'
volumes:
- ./src:/m/apps/web/src
- ./static:/m/apps/web/static
- ./config:/m/apps/web/config
- ./vite.config.ts:/m/apps/web/vite.config.ts
- ./tsconfig.json:/m/apps/web/tsconfig.json
- ./eslint.config.js:/m/apps/web/eslint.config.js
- ./data:/m/apps/web/data
- ./public:/m/apps/web/public
- ../../packages/config/src:/m/packages/config/src
- ../../packages/db/src:/m/packages/db/src
- ../../packages/jobs/src:/m/packages/jobs/src
- ../../packages/calendar/src:/m/packages/calendar/src
- ../../packages/video-chat/src:/m/packages/video-chat/src
environment:
NODE_ENV: development
WHEN_ALLOWED_HOSTS: when-app
depends_on:
when-worker:
condition: service_healthy
healthcheck:
test:
[
'CMD',
'node',
'-e',
"require('http').get('http://localhost:5173/healthz',r=>process.exit(r.statusCode===200?0:1))"
]
interval: 30s
timeout: 3s
start_period: 90s
start_interval: 2s
retries: 3
when-worker:
env_file:
- path: .env
required: false
build:
context: ../..
dockerfile: apps/worker/Dockerfile
target: dev
restart: unless-stopped
user: '${UID:-1000}:${GID:-1000}'
ports:
- '9000:9000'
environment:
NODE_ENV: development
healthcheck:
test:
[
'CMD',
'node',
'-e',
"require('http').get('http://localhost:9000/healthz',r=>process.exit(r.statusCode===200?0:1))"
]
interval: 30s
timeout: 3s
start_period: 90s
start_interval: 2s
retries: 3
volumes:
- ../worker/src:/m/apps/worker/src
- ./config:/m/apps/worker/config
- ./data:/m/apps/worker/data
- ../../packages/config/src:/m/packages/config/src
- ../../packages/db/src:/m/packages/db/src
- ../../packages/jobs/src:/m/packages/jobs/src
- ../../packages/calendar/src:/m/packages/calendar/src
- ../../packages/video-chat/src:/m/packages/video-chat/src
when-cli:
env_file:
- path: .env
required: false
profiles:
- tools
build:
context: ../..
dockerfile: apps/cli/Dockerfile
target: dev
user: '${UID:-1000}:${GID:-1000}'
stdin_open: true
tty: true
environment:
NODE_ENV: development
volumes:
- ./config:/m/config
- ../cli/src:/m/apps/cli/src
- ../../packages/config/src:/m/packages/config/src
- ../../packages/db/src:/m/packages/db/src
- ../../packages/jobs/src:/m/packages/jobs/src
- ../../packages/calendar/src:/m/packages/calendar/src
- ../../packages/video-chat/src:/m/packages/video-chat/src
when-mailpit:
image: axllent/mailpit:latest
ports:
- '8025:8025'
- '1025:1025'
volumes:
when-dev-data: