Files
cloud-api/compose.yaml
T

64 lines
1.2 KiB
YAML

name: jetkvm-cloud-api
networks:
jetkvm:
driver: bridge
services:
db:
image: postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: jetkvm
POSTGRES_USER: jetkvm
POSTGRES_DB: jetkvm
healthcheck:
test: ["CMD-SHELL", "pg_isready -U jetkvm -d jetkvm"]
interval: 5s
timeout: 5s
retries: 10
start_period: 5s
ports:
- "5432:5432"
networks:
- jetkvm
volumes:
- postgresql:/var/lib/postgresql
# Run database migrations before starting the apps
app-migrate:
build: .
env_file:
- .env
environment:
DATABASE_URL: postgres://jetkvm:jetkvm@db:5432/jetkvm
depends_on:
db:
condition: service_healthy
command: ["sh", "-c", "npx prisma migrate deploy"]
networks:
- jetkvm
restart: no
app:
build: .
restart: unless-stopped
env_file:
- .env
environment:
PORT: 3000
DATABASE_URL: postgres://jetkvm:jetkvm@db:5432/jetkvm
depends_on:
db:
condition: service_healthy
app-migrate:
condition: service_completed_successfully
ports:
- "3000:3000"
networks:
- jetkvm
volumes:
postgresql:
driver: local