74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
web:
|
|
image: node:20-bullseye
|
|
working_dir: /app
|
|
command: >
|
|
bash -lc "corepack enable \
|
|
&& corepack prepare pnpm@9 --activate \
|
|
&& pnpm install --frozen-lockfile --prod=false \
|
|
&& pnpm prisma:generate \
|
|
&& pnpm exec prisma migrate deploy \
|
|
&& pnpm build \
|
|
&& pnpm start -p 3000"
|
|
volumes:
|
|
- /srv/apps/sistema:/app
|
|
- sistema_db:/app/data
|
|
environment:
|
|
NODE_ENV: "production"
|
|
# Garante instalação de devDependencies para o build (prisma CLI)
|
|
NPM_CONFIG_PRODUCTION: "false"
|
|
# Mantém o SQLite fora do repositório
|
|
DATABASE_URL: "file:/app/data/db.sqlite"
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik_public
|
|
- traefik.http.routers.sistema_web.rule=Host(`tickets.esdrasrenan.com.br`)
|
|
- traefik.http.routers.sistema_web.entrypoints=websecure
|
|
- traefik.http.routers.sistema_web.tls=true
|
|
- traefik.http.routers.sistema_web.tls.certresolver=le
|
|
- traefik.http.services.sistema_web.loadbalancer.server.port=3000
|
|
networks:
|
|
- traefik_public
|
|
|
|
convex_backend:
|
|
image: ghcr.io/get-convex/convex-backend:latest
|
|
stop_grace_period: 10s
|
|
stop_signal: SIGINT
|
|
volumes:
|
|
- convex_data:/convex/data
|
|
environment:
|
|
- RUST_LOG=info
|
|
- CONVEX_CLOUD_ORIGIN=https://convex.esdrasrenan.com.br
|
|
- CONVEX_SITE_ORIGIN=https://convex.esdrasrenan.com.br
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik_public
|
|
- traefik.http.routers.sistema_convex.rule=Host(`convex.esdrasrenan.com.br`)
|
|
- traefik.http.routers.sistema_convex.entrypoints=websecure
|
|
- traefik.http.routers.sistema_convex.tls=true
|
|
- traefik.http.routers.sistema_convex.tls.certresolver=le
|
|
- traefik.http.services.sistema_convex.loadbalancer.server.port=3210
|
|
networks:
|
|
- traefik_public
|
|
|
|
volumes:
|
|
sistema_db:
|
|
convex_data:
|
|
|
|
networks:
|
|
traefik_public:
|
|
external: true
|