services: condado-newsletter-postgress: image: postgres:16 container_name: condado-newsletter-postgress restart: unless-stopped environment: POSTGRES_DB: ${APP_DB_NAME:-condado} POSTGRES_USER: ${SPRING_DATASOURCE_USERNAME} POSTGRES_PASSWORD: ${SPRING_DATASOURCE_PASSWORD} volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -p 5432 -U postgres"] interval: 10s timeout: 5s retries: 10 start_period: 10s condado-newsletter: image: sancho41/condado-newsletter:latest container_name: condado-newsletter restart: unless-stopped depends_on: condado-newsletter-postgress: condition: service_healthy environment: SPRING_PROFILES_ACTIVE: prod SPRING_JPA_HIBERNATE_DDL_AUTO: ${SPRING_JPA_HIBERNATE_DDL_AUTO:-update} SPRING_DATASOURCE_URL: jdbc:postgresql://condado-newsletter-postgress:5432/${APP_DB_NAME:-condado} SPRING_DATASOURCE_USERNAME: ${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${SPRING_DATASOURCE_PASSWORD} APP_PASSWORD: ${APP_PASSWORD} JWT_SECRET: ${JWT_SECRET} JWT_EXPIRATION_MS: ${JWT_EXPIRATION_MS:-86400000} MAIL_HOST: ${MAIL_HOST} MAIL_PORT: ${MAIL_PORT} MAIL_USERNAME: ${MAIL_USERNAME} MAIL_PASSWORD: ${MAIL_PASSWORD} IMAP_HOST: ${IMAP_HOST} IMAP_PORT: ${IMAP_PORT} IMAP_INBOX_FOLDER: ${IMAP_INBOX_FOLDER} OPENAI_API_KEY: ${OPENAI_API_KEY} OPENAI_MODEL: ${OPENAI_MODEL} LLAMA_BASE_URL: ${LLAMA_BASE_URL} LLAMA_MODEL: ${LLAMA_MODEL} APP_RECIPIENTS: ${APP_RECIPIENTS} extra_hosts: - "celtinha.desktop:host-gateway" - "host.docker.internal:host-gateway" labels: - "traefik.enable=true" - "traefik.http.routers.condado.rule=Host(`condado-newsletter.lab`)" - "traefik.http.services.condado.loadbalancer.server.port=80" - "homepage.group=Hyperlink" - "homepage.name=Condado Newsletter" - "homepage.description=Automated newsletter generator using AI" - "homepage.logo=claude-dark.png" - "homepage.href=http://condado-newsletter.lab" volumes: postgres-data: networks: default: name: traefik external: true