adicionando network

This commit is contained in:
Gabriel Santana de Menezes 2026-05-12 19:47:08 -04:00
parent 22f1f8b76c
commit f2eb4918a8
2 changed files with 75 additions and 36 deletions

View file

@ -3,67 +3,90 @@ services:
image: traefik:v3.3 image: traefik:v3.3
container_name: bee-task-traefik container_name: bee-task-traefik
restart: unless-stopped restart: unless-stopped
command: command:
- "--api.insecure=true" - "--api.insecure=true"
- "--providers.docker=true" - "--providers.docker=true"
- "--providers.docker.exposedbydefault=false" - "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80" - "--entrypoints.web.address=:80"
ports: ports:
- "80:80" - "80:80"
- "8080:8080" - "8080:8080"
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- frontend networks:
- backend - traefik-public
postgres: postgres:
image: postgres:16 image: postgres:16
container_name: bee-task-postgres container_name: bee-task-postgres
restart: unless-stopped restart: unless-stopped
environment: environment:
POSTGRES_USER: ${POSTGRES_USER} POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB:-beetask} POSTGRES_DB: ${POSTGRES_DB:-beetask}
volumes: volumes:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
networks:
- traefik-public
backend: backend:
image: ${BACKEND_IMAGE} image: ${BACKEND_IMAGE}
restart: unless-stopped restart: unless-stopped
environment: environment:
DB_USER: ${POSTGRES_USER} DB_USER: ${POSTGRES_USER}
DB_PASSWORD: ${POSTGRES_PASSWORD} DB_PASSWORD: ${POSTGRES_PASSWORD}
DB_URL: ${DB_URL} DB_URL: ${DB_URL}
MP_JWT_VERIFY_ISSUER: ${MP_JWT_VERIFY_ISSUER}
SMALLRYE_JWT_SIGN_KEY_LOCATION: ${SMALLRYE_JWT_SIGN_KEY_LOCATION}
MP_JWT_VERIFY_PUBLICKEY_LOCATION: ${MP_JWT_VERIFY_PUBLICKEY_LOCATION}
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.backend.rule=PathPrefix(`/backend`)" - "traefik.http.routers.backend.rule=PathPrefix(`/backend`)"
- "traefik.http.routers.backend.entrypoints=web" - "traefik.http.routers.backend.entrypoints=web"
- "traefik.http.middlewares.backend-strip.stripprefix.prefixes=/backend" - "traefik.http.middlewares.backend-strip.stripprefix.prefixes=/backend"
- "traefik.http.routers.backend.middlewares=backend-strip" - "traefik.http.routers.backend.middlewares=backend-strip"
- "traefik.http.services.backend.loadbalancer.server.port=8081" - "traefik.http.services.backend.loadbalancer.server.port=8081"
networks:
- traefik-public
frontend: frontend:
image: ${FRONTEND_IMAGE} image: ${FRONTEND_IMAGE}
restart: unless-stopped restart: unless-stopped
depends_on:
- backend
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.frontend.rule=PathPrefix(`/`)" - "traefik.http.routers.frontend.rule=PathPrefix(`/`)"
- "traefik.http.routers.frontend.entrypoints=web" - "traefik.http.routers.frontend.entrypoints=web"
- "traefik.http.services.frontend.loadbalancer.server.port=80"
- "traefik.http.services.frontend.loadbalancer.server.port=3000"
networks:
- traefik-public
volumes: volumes:
postgres_data: postgres_data:
networks:
traefik-public:
driver: bridge

View file

@ -2,75 +2,91 @@ services:
traefik: traefik:
image: traefik:v3.3 image: traefik:v3.3
container_name: bee-task-traefik container_name: bee-task-traefik
restart: unless-stopped
command: command:
- "--api.insecure=true" - "--api.insecure=true"
- "--providers.docker=true" - "--providers.docker=true"
- "--providers.docker.exposedbydefault=false" - "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80" - "--entrypoints.web.address=:80"
ports: ports:
- "80:80" - "80:80"
- "8080:8080" - "8080:8080"
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- frontend networks:
- backend - traefik-public
postgres: postgres:
image: postgres:16 image: postgres:16
container_name: bee-task-postgres container_name: bee-task-postgres
restart: unless-stopped
environment: environment:
POSTGRES_USER: beetask POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: beetask POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: beetask POSTGRES_DB: ${POSTGRES_DB:-beetask}
ports:
- "5432:5432"
volumes: volumes:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
- ./docker/postgres/init:/docker-entrypoint-initdb.d
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U beetask"] test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
networks:
- traefik-public
backend: backend:
build: image: ${BACKEND_IMAGE}
context: ./backend
container_name: bee-task-backend
restart: unless-stopped restart: unless-stopped
environment: environment:
DB_USER: beetask DB_USER: ${POSTGRES_USER}
DB_PASSWORD: beetask DB_PASSWORD: ${POSTGRES_PASSWORD}
DB_URL: jdbc:postgresql://postgres:5432/beetask DB_URL: ${DB_URL}
MP_JWT_VERIFY_ISSUER: https://beetech.net
SMALLRYE_JWT_SIGN_KEY_LOCATION: /app/privateKey.pem
MP_JWT_VERIFY_PUBLICKEY_LOCATION: /app/publicKey.pem
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.backend.rule=PathPrefix(`/backend`)" - "traefik.http.routers.backend.rule=PathPrefix(`/backend`)"
- "traefik.http.routers.backend.entrypoints=web" - "traefik.http.routers.backend.entrypoints=web"
- "traefik.http.middlewares.backend-strip.stripprefix.prefixes=/backend" - "traefik.http.middlewares.backend-strip.stripprefix.prefixes=/backend"
- "traefik.http.routers.backend.middlewares=backend-strip" - "traefik.http.routers.backend.middlewares=backend-strip"
- "traefik.http.services.backend.loadbalancer.server.port=8081" - "traefik.http.services.backend.loadbalancer.server.port=8081"
networks:
- traefik-public
frontend: frontend:
build: image: ${FRONTEND_IMAGE}
context: ./frontend
args:
VITE_API_URL: /backend
container_name: bee-task-frontend
restart: unless-stopped restart: unless-stopped
depends_on:
- backend
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.frontend.rule=PathPrefix(`/`)" - "traefik.http.routers.frontend.rule=PathPrefix(`/`)"
- "traefik.http.routers.frontend.entrypoints=web" - "traefik.http.routers.frontend.entrypoints=web"
- "traefik.http.services.frontend.loadbalancer.server.port=80"
- "traefik.http.services.frontend.loadbalancer.server.port=3000"
networks:
- traefik-public
volumes: volumes:
postgres_data: postgres_data:
networks:
traefik-public:
driver: bridge