Files
lifeforge/docker-compose.yaml

78 lines
1.7 KiB
YAML

services:
db:
build:
context: .
dockerfile: docker/db/Dockerfile
container_name: lifeforge-db
restart: unless-stopped
env_file:
- ./env/.env.docker
environment:
- DOCKER_MODE=true
- PB_BINARY_PATH=/usr/local/bin/pocketbase
- PB_DIR=/pb_data
expose:
- "8090"
volumes:
- ./database/pb_data:/pb_data
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
start_period: 10s
db-init:
build:
context: .
dockerfile: docker/db-init/Dockerfile
container_name: lifeforge-db-init
env_file:
- ./env/.env.docker
environment:
- DOCKER_MODE=true
- PB_DIR=/pb_data
- PB_HOST=http://0.0.0.0:8090
volumes:
- ./database/pb_data:/pb_data
- ./apps:/app/apps
- ./locales:/app/locales
depends_on:
db:
condition: service_healthy
server:
build:
context: .
dockerfile: docker/server/Dockerfile
container_name: lifeforge-server
restart: unless-stopped
env_file:
- ./env/.env.docker
environment:
- DOCKER_MODE=true
- NODE_ENV=production
- PB_HOST=http://db:8090
expose:
- "3636"
volumes:
- ./apps:/lifeforge/apps
- ./locales:/lifeforge/locales
depends_on:
db-init:
condition: service_completed_successfully
client:
build:
context: .
dockerfile: docker/client/Dockerfile
args:
- VITE_API_HOST=/api
container_name: lifeforge-client
restart: unless-stopped
ports:
- "80:80"
depends_on:
server:
condition: service_started