diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index e649d8a..1f6409d 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -132,7 +132,7 @@ jobs: echo "Existing stack found with id=${STACK_ID}; sending update request" PAYLOAD=$(jq -n \ - --rawfile stack_file docker-compose.prod.yml \ + --rawfile stack_file docker-compose.yml \ '{StackFileContent: $stack_file, Env: [], Prune: false, PullImage: false}') APPLY_HTTP_CODE=$(curl -sS -X PUT \ @@ -150,7 +150,7 @@ jobs: PAYLOAD=$(jq -n \ --arg name "${STACK_NAME}" \ - --rawfile stack_file docker-compose.prod.yml \ + --rawfile stack_file docker-compose.yml \ '{Name: $name, StackFileContent: $stack_file, Env: [], FromAppTemplate: false}') APPLY_HTTP_CODE=$(curl -sS -X POST \ diff --git a/docker-compose.yml b/docker-compose.yml index 9c63b58..e2d0349 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,14 +4,13 @@ services: postgres: image: postgres:16-alpine restart: unless-stopped + container_name: condado-newsletter-postgres environment: POSTGRES_DB: condado POSTGRES_USER: ${SPRING_DATASOURCE_USERNAME} POSTGRES_PASSWORD: ${SPRING_DATASOURCE_PASSWORD} volumes: - postgres-data:/var/lib/postgresql/data - networks: - - condado-net healthcheck: test: ["CMD-SHELL", "pg_isready -U ${SPRING_DATASOURCE_USERNAME} -d condado"] interval: 10s @@ -20,6 +19,7 @@ services: # ── Backend (Spring Boot) ──────────────────────────────────────────────────── backend: + container_name: condado-newsletter-backend build: context: ./backend dockerfile: Dockerfile @@ -29,7 +29,7 @@ services: condition: service_healthy environment: SPRING_PROFILES_ACTIVE: dev - SPRING_DATASOURCE_URL: ${SPRING_DATASOURCE_URL} + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/condado SPRING_DATASOURCE_USERNAME: ${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${SPRING_DATASOURCE_PASSWORD} APP_PASSWORD: ${APP_PASSWORD} @@ -50,36 +50,42 @@ services: extra_hosts: - "celtinha.desktop:host-gateway" - "host.docker.internal:host-gateway" - networks: - - condado-net # ── Frontend + Nginx ───────────────────────────────────────────────────────── nginx: + container_name: condado-newsletter-frontend build: context: ./frontend dockerfile: Dockerfile args: VITE_API_BASE_URL: ${VITE_API_BASE_URL} restart: unless-stopped - ports: - - "80:80" depends_on: - backend networks: - - condado-net + - traefik + 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" # ── Mailhog (DEV ONLY — SMTP trap) ─────────────────────────────────────────── mailhog: + container_name: condado-newsletter-mailhog image: mailhog/mailhog:latest restart: unless-stopped ports: - "8025:8025" - networks: - - condado-net volumes: postgres-data: networks: - condado-net: - driver: bridge + traefik: + external: true + name: traefik