Files
invyone/docker/deploy/docker-compose.yml
T
2026-04-07 13:39:14 +09:00

69 lines
2.0 KiB
YAML

version: "3.8"
services:
# Spring Boot 백엔드
backend:
build:
context: ../../backend-spring
dockerfile: ../docker/deploy/backend-spring.Dockerfile
container_name: pms-backend-prod
restart: always
environment:
SPRING_PROFILES_ACTIVE: prod
SERVER_PORT: "8081"
SPRING_DATASOURCE_URL: jdbc:postgresql://211.115.91.141:11134/vexplor
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: "vexplor0909!!"
JWT_SECRET: ilshin-plm-super-secret-jwt-key-2024
JWT_EXPIRATION: "86400000"
FILE_UPLOAD_DIR: ./uploads
volumes:
- backend_uploads:/app/uploads
- backend_data:/app/data
labels:
- traefik.enable=true
- traefik.http.routers.backend.rule=Host(`api.invion.com`)
- traefik.http.routers.backend.entrypoints=websecure,web
- traefik.http.routers.backend.tls=true
- traefik.http.routers.backend.tls.certresolver=le
- traefik.http.services.backend.loadbalancer.server.port=8081
# Next.js 프론트엔드
frontend:
build:
context: ../../frontend
dockerfile: ../docker/deploy/frontend.Dockerfile
args:
- NEXT_PUBLIC_API_URL=https://api.invion.com/api
container_name: pms-frontend-prod
restart: always
environment:
NODE_ENV: production
NEXT_PUBLIC_API_URL: https://api.invion.com/api
SERVER_API_URL: "http://backend:8081"
NEXT_TELEMETRY_DISABLED: "1"
PORT: "3000"
HOSTNAME: 0.0.0.0
volumes:
- frontend_data:/app/data
labels:
- traefik.enable=true
- traefik.http.routers.frontend.rule=Host(`v1.invion.com`)
- traefik.http.routers.frontend.entrypoints=websecure,web
- traefik.http.routers.frontend.tls=true
- traefik.http.routers.frontend.tls.certresolver=le
- traefik.http.services.frontend.loadbalancer.server.port=3000
volumes:
backend_uploads:
driver: local
backend_data:
driver: local
frontend_data:
driver: local
networks:
default:
name: toktork_server_default
external: true