Files
templates/blueprints/rote/docker-compose.yml
Rabithua ac07aa2ed8 feat: add Rote template
- Add Rote deployment template with frontend, backend, and PostgreSQL services
- Configure domain routing for frontend (port 80) and backend (port 3000)
- Set up automatic password generation and environment variables
- Use latest image tag by default
- Add logo and metadata to meta.json
2025-11-25 20:03:46 +08:00

46 lines
1.2 KiB
YAML

services:
rote-backend:
image: rabithua/rote-backend:${IMAGE_TAG:-latest}
pull_policy: always
environment:
POSTGRESQL_URL: postgresql://rote:${POSTGRES_PASSWORD}@rote-postgres:5432/rote
depends_on:
rote-postgres:
condition: service_healthy
restart: unless-stopped
command:
[
"sh",
"-c",
"sleep 15 && bun run dist/scripts/runMigrations.js && bun run dist/server.js",
]
rote-frontend:
image: rabithua/rote-frontend:${IMAGE_TAG:-latest}
pull_policy: always
depends_on:
- rote-backend
environment:
# VITE_API_BASE must point to an address that reaches rote-backend (reverse-proxy domain or host IP:port)
VITE_API_BASE: ${VITE_API_BASE}
restart: unless-stopped
rote-postgres:
image: postgres:17
restart: unless-stopped
environment:
POSTGRES_USER: rote
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: rote
volumes:
- rote-postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U rote -d rote"]
interval: 5s
timeout: 3s
retries: 10
start_period: 30s
volumes:
rote-postgres-data: {}