services: plm-ilshin: build: context: . dockerfile: Dockerfile container_name: plm-ilshin restart: always env_file: - .env.production # ports: # Traefik will handle exposing the service stdin_open: true tty: true depends_on: - plm-ilshin-db # 리소스 제한 설정 (기존 Tomcat 서버 환경 기준) # deploy: # resources: # limits: # cpus: '4' # memory: 4G # reservations: # cpus: '1' # memory: 1G environment: CATALINA_OPTS: >- -DDB_URL=${DB_URL} -DDB_USERNAME=${DB_USERNAME} -DDB_PASSWORD=${DB_PASSWORD} -Xms512m -Xmx1536m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 volumes: - /home/plm-ilshin/project_data:/data_storage - /home/plm-ilshin/app_data:/path/inside/container # Note: Removed WebContent volume mount as application is now built inside Docker image # Template files can be updated without rebuild - ./WebContent/template:/usr/local/tomcat/webapps/ROOT/template:ro labels: - traefik.enable=true - traefik.http.routers.plm-ilshin.rule=Host(`fito.wace.me`) - traefik.http.routers.plm-ilshin.entrypoints=websecure,web - traefik.http.routers.plm-ilshin.tls=true - traefik.http.routers.plm-ilshin.tls.certresolver=le - traefik.http.services.plm-ilshin.loadbalancer.server.port=8080 plm-ilshin-db: image: dockerhub.wace.me/postgres:16.8-alpine3.21.linux container_name: plm-ilshin-db restart: always env_file: - .env.production volumes: - /home/plm-ilshin/postgres_data:/var/lib/postgresql/data ports: - "11140:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d fito"] interval: 10s timeout: 5s retries: 5 networks: default: external: name: toktork_server_default