Files
luzzle/apps/web/docker-compose.dev.yml
eleith 18761d597d
ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/core Pipeline was successful
ci/woodpecker/pr/lsp Pipeline was successful
ci/woodpecker/pr/web-config Pipeline was successful
ci/woodpecker/pr/web-db Pipeline was successful
ci/woodpecker/pr/web-jobs Pipeline was successful
ci/woodpecker/pr/web-lsp Pipeline was successful
ci/woodpecker/pr/web-pieces Pipeline was successful
ci/woodpecker/pr/web-theme Pipeline was successful
ci/woodpecker/pr/web-worker Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
[web] integrate SvelteKit 3 with runtime configuration
2026-10-31 06:39:44 -07:00

152 lines
5.0 KiB
YAML

services:
luzzle-dev-web:
build:
context: ../..
dockerfile: apps/web/Dockerfile
target: dev
container_name: luzzle-dev-web
user: '${UID:-1000}:${GID:-1000}'
environment:
- LUZZLE_DEV=true
ports:
- '5173:5173'
volumes:
- ../../tools:/m/tools
- ../../apps/core/src:/m/apps/core/src
- ../../packages/web/config/src:/m/packages/web/config/src
- ../../packages/web/db/src:/m/packages/web/db/src
- ../../packages/web/jobs/src:/m/packages/web/jobs/src
- ../../packages/web/pieces/src:/m/packages/web/pieces/src
- ../../packages/web/theme/src:/m/packages/web/theme/src
- ../../packages/web/theme/assets:/m/packages/web/theme/assets
- ../../packages/web/templates/src:/m/packages/web/templates/src
- ./demo/assets:/m/apps/web/assets
- ./demo/config:/m/apps/web/config:ro
- ./demo/data:/m/apps/web/data
- ./demo/content:/m/apps/web/content
- ./demo/archive:/m/apps/web/archive
- ./demo/cdn:/m/apps/web/cdn
- ./src:/m/apps/web/src
- ./static:/m/apps/web/static
- ./scripts:/m/apps/web/scripts
- ./tsconfig.json:/m/apps/web/tsconfig.json
- ./vite.config.ts:/m/apps/web/vite.config.ts
networks:
- luzzle
healthcheck:
test:
[
'CMD-SHELL',
'node -e "fetch(''http://127.0.0.1:5173/api/health'').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"'
]
interval: 5s
timeout: 3s
retries: 3
start_period: 30s
luzzle-dev-worker:
build:
context: ../..
dockerfile: packages/web/worker/Dockerfile
target: dev
container_name: luzzle-dev-worker
user: '${UID:-1000}:${GID:-1000}'
environment:
- LUZZLE_DEV=true
networks:
- luzzle
volumes:
- ../../tools:/m/tools
- ../../apps/core/src:/m/apps/core/src
- ../../packages/web/config/src:/m/packages/web/config/src
- ../../packages/web/db/src:/m/packages/web/db/src
- ../../packages/web/jobs/src:/m/packages/web/jobs/src
- ../../packages/web/pieces/src:/m/packages/web/pieces/src
- ../../packages/web/theme/src:/m/packages/web/theme/src
- ../../packages/web/theme/assets:/m/packages/web/theme/assets
- ../../packages/web/templates/src:/m/packages/web/templates/src
- ./demo/config:/m/packages/web/worker/config:ro
- ./demo/assets:/m/packages/web/worker/assets
- ./demo/data:/m/packages/web/worker/data
- ./demo/archive:/m/packages/web/worker/archive
- ./demo/rclone:/m/packages/web/worker/rclone
- ./demo/remote:/m/packages/web/worker/remote
- ./demo/cdn:/m/packages/web/worker/cdn
- ./demo/content:/m/packages/web/worker/content
- ./nginx/cache:/m/packages/web/worker/nginx
- ../../packages/web/worker/src:/m/packages/web/worker/src
- ./static:/m/packages/web/worker/static
- ../../packages/web/worker/scripts:/m/packages/web/worker/scripts
- ../../packages/web/worker/tsconfig.json:/m/packages/web/worker/tsconfig.json
- ../../packages/web/worker/tsconfig.build.json:/m/packages/web/worker/tsconfig.build.json
- ../../packages/web/worker/vite.config.ts:/m/packages/web/worker/vite.config.ts
healthcheck:
test:
[
'CMD-SHELL',
'node -e "fetch(''http://127.0.0.1:9000/health'').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"'
]
interval: 5s
timeout: 3s
retries: 3
start_period: 30s
luzzle-dev-lsp:
build:
context: ../..
dockerfile: packages/web/lsp/Dockerfile
target: dev
container_name: luzzle-dev-lsp
user: '${UID:-1000}:${GID:-1000}'
environment:
- LUZZLE_DEV=true
ports:
- '9001:9001'
networks:
- luzzle
volumes:
- ./demo/archive:/m/packages/web/lsp/archive
- ../../packages/web/lsp/server.js:/m/packages/web/lsp/server.js
- ../../packages/web/lsp/luzzle-lsp.js:/m/packages/web/lsp/luzzle-lsp.js
- ../../packages/web/lsp/markdownlint-lsp.js:/m/packages/web/lsp/markdownlint-lsp.js
healthcheck:
test:
[
'CMD-SHELL',
'node -e "fetch(''http://127.0.0.1:9001/health'').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"'
]
interval: 5s
timeout: 3s
retries: 3
start_period: 30s
luzzle-dev-proxy:
build:
context: ../..
dockerfile: packages/web/proxy/Dockerfile
target: dev
container_name: luzzle-dev-proxy
user: '${UID:-1000}:${GID:-1000}'
ports:
- '8080:8080'
networks:
- luzzle
volumes:
- ./nginx/cache:/tmp/cache
- ./nginx/logs:/tmp/logs
depends_on:
luzzle-dev-web:
condition: service_healthy
luzzle-dev-lsp:
condition: service_healthy
healthcheck:
test: ['CMD-SHELL', 'wget -q -O /dev/null http://127.0.0.1:8080/api/health || exit 1']
interval: 5s
timeout: 3s
retries: 3
start_period: 30s
networks:
luzzle:
driver: bridge