Skip to content

Instantly share code, notes, and snippets.

@oismaelash
Last active November 19, 2025 13:24
Show Gist options
  • Select an option

  • Save oismaelash/45a0b9c615087600ab067bc88830ce82 to your computer and use it in GitHub Desktop.

Select an option

Save oismaelash/45a0b9c615087600ab067bc88830ce82 to your computer and use it in GitHub Desktop.
services:
db:
image: postgres:16
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: reservas
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- internal
restart: unless-stopped
labtransbackend:
image: ghcr.io/oismaelash/lab-trans-backend:${APP_VERSION}
environment:
DATABASE_URL: postgresql://user:password@db:5432/reservas
CORS_ORIGINS: https://${BASE_DOMAIN},https://${CUSTOM_DOMAIN}
GOOGLE_CLIENT_ID: 236502776415-l9p02hrrf17k86r1pqm92fddm98o11a2.apps.googleusercontent.com
SECRET_KEY: dev-secret-key-change-in-production
ADMIN_EMAILS: contato@ismaelnascimento.com
depends_on:
- db
networks:
- traefik
- internal
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 20s
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.labtransbackend.rule=Host(`api.reservas.ismaelnascimento.com`)
- traefik.http.routers.labtransbackend.entrypoints=websecure
- traefik.http.routers.labtransbackend.tls=true
- traefik.http.routers.labtransbackend.tls.certresolver=letsencrypt
- traefik.http.services.labtransbackend.loadbalancer.server.port=8000
labtransfrontend:
image: ghcr.io/oismaelash/lab-trans-frontend:${APP_VERSION}
environment:
VITE_API_BASE_URL: https://api.reservas.ismaelnascimento.com/api/v1
VITE_GOOGLE_CLIENT_ID: 236502776415-l9p02hrrf17k86r1pqm92fddm98o11a2.apps.googleusercontent.com
VITE_ADMIN_EMAILS: contato@ismaelnascimento.com
depends_on:
- backend
networks:
- traefik
- internal
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.labtransfrontend.rule=Host(`reservas.ismaelnascimento.com`)
- traefik.http.routers.labtransfrontend.entrypoints=websecure
- traefik.http.routers.labtransfrontend.tls=true
- traefik.http.routers.labtransfrontend.tls.certresolver=letsencrypt
- traefik.http.services.labtransfrontend.loadbalancer.server.port=80
restart: unless-stopped
volumes:
postgres_data:
networks:
traefik:
external: true
internal:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment