init: add server infra config files with log volume mounts
This commit is contained in:
273
docker-compose.yml
Normal file
273
docker-compose.yml
Normal file
@@ -0,0 +1,273 @@
|
||||
version: '3.8'
|
||||
|
||||
networks:
|
||||
gitea-net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
gitea_data:
|
||||
jenkins_data:
|
||||
mysql_oms_data:
|
||||
mysql_triple_data:
|
||||
|
||||
services:
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# MySQL 8.0 — Gitea/Jenkins용
|
||||
# ──────────────────────────────────────────
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: mysql
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root1234!
|
||||
MYSQL_DATABASE: gitea
|
||||
MYSQL_CHARACTER_SET_SERVER: utf8mb4
|
||||
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-proot1234!"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# MySQL 8.0 — omsDB
|
||||
# ──────────────────────────────────────────
|
||||
mysql-oms:
|
||||
image: mysql:8.0
|
||||
container_name: mysql-oms
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
ports:
|
||||
- "3308:3306"
|
||||
environment:
|
||||
TZ: Asia/Seoul
|
||||
MYSQL_ROOT_PASSWORD: root1234
|
||||
MYSQL_DATABASE: omsDB
|
||||
MYSQL_CHARACTER_SET_SERVER: utf8mb4
|
||||
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
|
||||
volumes:
|
||||
- mysql_oms_data:/var/lib/mysql
|
||||
- ./innodb8.cnf:/etc/mysql/conf.d/innodb.cnf:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-proot1234"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# MySQL 8.0 — triple_db
|
||||
# ──────────────────────────────────────────
|
||||
mysql-triple:
|
||||
image: mysql:8.0
|
||||
container_name: mysql-triple
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
ports:
|
||||
- "3309:3306"
|
||||
environment:
|
||||
TZ: Asia/Seoul
|
||||
MYSQL_ROOT_PASSWORD: root1234
|
||||
MYSQL_DATABASE: triple_db
|
||||
MYSQL_CHARACTER_SET_SERVER: utf8mb4
|
||||
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
|
||||
volumes:
|
||||
- mysql_triple_data:/var/lib/mysql
|
||||
- ./innodb8.cnf:/etc/mysql/conf.d/innodb.cnf:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-proot1234"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# Gitea
|
||||
# ──────────────────────────────────────────
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE=mysql
|
||||
- GITEA__database__HOST=mysql:3306
|
||||
- GITEA__database__NAME=gitea
|
||||
- GITEA__database__USER=root
|
||||
- GITEA__database__PASSWD=root1234!
|
||||
- GITEA__server__DOMAIN=git.gong-dev.com
|
||||
- GITEA__server__SSH_DOMAIN=git.gong-dev.com
|
||||
- GITEA__server__ROOT_URL=https://git.gong-dev.com/
|
||||
- GITEA__server__HTTP_PORT=3000
|
||||
volumes:
|
||||
- gitea_data:/data
|
||||
expose:
|
||||
- "3000"
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# Jenkins
|
||||
# ──────────────────────────────────────────
|
||||
jenkins:
|
||||
image: jenkins/jenkins:lts
|
||||
container_name: jenkins
|
||||
user: root
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
volumes:
|
||||
- jenkins_data:/var/jenkins_home
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /usr/bin/docker:/usr/bin/docker
|
||||
- /opt/gitea-stack:/opt/gitea-stack
|
||||
- /opt/docker-cli-plugins:/usr/local/lib/docker/cli-plugins
|
||||
expose:
|
||||
- "8080"
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# Nginx (reverse proxy)
|
||||
# ──────────────────────────────────────────
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
container_name: nginx
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
depends_on:
|
||||
- gitea
|
||||
- jenkins
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
||||
- /etc/ssl/origin-ca:/etc/ssl/origin-ca:ro
|
||||
- /etc/ssl/acme:/etc/ssl/acme:ro
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# pkcasino01 — 카지노 프론트엔드
|
||||
# ──────────────────────────────────────────
|
||||
pkcasino01:
|
||||
image: pkcasino01:latest
|
||||
container_name: pkcasino01
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
expose:
|
||||
- "80"
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# agent_oms — 에이전트 어드민 프론트엔드
|
||||
# ──────────────────────────────────────────
|
||||
agent-oms:
|
||||
image: agent_oms:latest
|
||||
container_name: agent-oms
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
expose:
|
||||
- "80"
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# first_vendor_panel — 벤더 패널 프론트엔드
|
||||
# ──────────────────────────────────────────
|
||||
first-vendor-panel:
|
||||
image: first_vendor_panel:latest
|
||||
container_name: first-vendor-panel
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
expose:
|
||||
- "80"
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# oms_api — OMS 백엔드 API
|
||||
# ──────────────────────────────────────────
|
||||
oms-api:
|
||||
image: oms_api:latest
|
||||
container_name: oms-api
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
depends_on:
|
||||
mysql-oms:
|
||||
condition: service_healthy
|
||||
mysql-triple:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- /home/log/triple:/home/log/triple
|
||||
expose:
|
||||
- "8080"
|
||||
environment:
|
||||
- SPRING_DATASOURCE1_JDBC_URL=jdbc:mysql://mysql-oms:3306/omsDB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8&allowMultiQueries=true
|
||||
- SPRING_DATASOURCE2_JDBC_URL=jdbc:mysql://mysql-oms:3306/omsDB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8&allowMultiQueries=true
|
||||
- SPRING_DATASOURCE3_JDBC_URL=jdbc:mysql://mysql-triple:3306/triple_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8
|
||||
- SPRING_DATASOURCE1_USERNAME=root
|
||||
- SPRING_DATASOURCE1_PASSWORD=root1234
|
||||
- SPRING_DATASOURCE2_USERNAME=root
|
||||
- SPRING_DATASOURCE2_PASSWORD=root1234
|
||||
- SPRING_DATASOURCE3_USERNAME=root
|
||||
- SPRING_DATASOURCE3_PASSWORD=root1234
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# first_vendor_api — Triple 벤더 API
|
||||
# ──────────────────────────────────────────
|
||||
first-vendor-api:
|
||||
image: first_vendor_api:latest
|
||||
container_name: first-vendor-api
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
depends_on:
|
||||
mysql-triple:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- /home/log/triple:/home/log/triple
|
||||
expose:
|
||||
- "8080"
|
||||
environment:
|
||||
- SPRING_DATASOURCE1_JDBC_URL=jdbc:mysql://mysql-triple:3306/triple_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8
|
||||
- SPRING_DATASOURCE2_JDBC_URL=jdbc:mysql://mysql-triple:3306/triple_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8
|
||||
- SPRING_DATASOURCE1_USERNAME=root
|
||||
- SPRING_DATASOURCE1_PASSWORD=root1234
|
||||
- SPRING_DATASOURCE2_USERNAME=root
|
||||
- SPRING_DATASOURCE2_PASSWORD=root1234
|
||||
- SPRING_AUTOCONFIGURE_EXCLUDE=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration
|
||||
|
||||
|
||||
# ──────────────────────────────────────────
|
||||
# first_vendor_batch — Triple 배치 서버
|
||||
# ──────────────────────────────────────────
|
||||
first-vendor-batch:
|
||||
image: first_vendor_batch:latest
|
||||
container_name: first-vendor-batch
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
depends_on:
|
||||
mysql-triple:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- /home/log/triple:/home/log/triple
|
||||
expose:
|
||||
- "8080"
|
||||
environment:
|
||||
- SPRING_DATASOURCE1_JDBC_URL=jdbc:mysql://mysql-triple:3306/triple_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8
|
||||
- SPRING_DATASOURCE2_JDBC_URL=jdbc:mysql://mysql-triple:3306/triple_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&autoReconnect=true&useEncoding=true&characterEncoding=utf-8
|
||||
- SPRING_DATASOURCE1_USERNAME=root
|
||||
- SPRING_DATASOURCE1_PASSWORD=root1234
|
||||
- SPRING_DATASOURCE2_USERNAME=root
|
||||
- SPRING_DATASOURCE2_PASSWORD=root1234
|
||||
- SPRING_AUTOCONFIGURE_EXCLUDE=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration
|
||||
|
||||
Reference in New Issue
Block a user