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
152 lines
5.0 KiB
YAML
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
|