This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
name: abc-user-feedback-deploy
|
||||
|
||||
services:
|
||||
web:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/web.dockerfile
|
||||
environment:
|
||||
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL}
|
||||
INTERNAL_API_BASE_URL: http://api:4000
|
||||
SUPPORT_API_BASE_URL: http://secretary-api:8010
|
||||
SECRETARY_ABC_API_KEY: ${SECRETARY_ABC_API_KEY:-}
|
||||
ports:
|
||||
- '${WEB_PORT:-3030}:3000'
|
||||
depends_on:
|
||||
api:
|
||||
condition: service_started
|
||||
secretary-api:
|
||||
condition: service_started
|
||||
restart: unless-stopped
|
||||
|
||||
api:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/api.dockerfile
|
||||
environment:
|
||||
APP_ADDRESS: 0.0.0.0
|
||||
APP_PORT: 4000
|
||||
ADMIN_WEB_URL: ${ADMIN_WEB_URL}
|
||||
BASE_URL: ${BASE_URL}
|
||||
JWT_SECRET: ${JWT_SECRET}
|
||||
INITIAL_SUPER_ADMIN_PHONE_NUMBER: ${INITIAL_SUPER_ADMIN_PHONE_NUMBER:-}
|
||||
ADMIN_CANDIDATE_EMAILS: ${ADMIN_CANDIDATE_EMAILS:-}
|
||||
GITEA_API_URL: ${GITEA_API_URL:-https://gitea.hmac.kr/api/v1}
|
||||
GITEA_API_TOKEN: ${GITEA_API_TOKEN:-}
|
||||
GITHUB_API_TOKEN: ${GITHUB_API_TOKEN:-}
|
||||
JIRA_API_EMAIL: ${JIRA_API_EMAIL:-}
|
||||
JIRA_API_TOKEN: ${JIRA_API_TOKEN:-}
|
||||
JIRA_WEBHOOK_SECRET: ${JIRA_WEBHOOK_SECRET:-}
|
||||
JIRA_ISSUE_TYPE: ${JIRA_ISSUE_TYPE:-Task}
|
||||
MYSQL_PRIMARY_URL: mysql://userfeedback:userfeedback@mysql:3306/userfeedback
|
||||
SMTP_ENABLED: ${SMTP_ENABLED:-false}
|
||||
SMTP_HOST: ${SMTP_HOST:-}
|
||||
SMTP_PORT: ${SMTP_PORT:-25}
|
||||
SMTP_SENDER: ${SMTP_SENDER:-}
|
||||
SMTP_USERNAME: ${SMTP_USERNAME:-}
|
||||
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
|
||||
SMTP_TLS: ${SMTP_TLS:-false}
|
||||
SMTP_CIPHER_SPEC: ${SMTP_CIPHER_SPEC:-}
|
||||
SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false}
|
||||
MASTER_API_KEY: ${MASTER_API_KEY:-}
|
||||
SUPPORT_API_BASE_URL: http://secretary-api:8010
|
||||
ACCESS_TOKEN_EXPIRED_TIME: ${ACCESS_TOKEN_EXPIRED_TIME:-10m}
|
||||
REFRESH_TOKEN_EXPIRED_TIME: ${REFRESH_TOKEN_EXPIRED_TIME:-1h}
|
||||
AUTO_MIGRATION: ${AUTO_MIGRATION:-true}
|
||||
OPENSEARCH_USE: ${OPENSEARCH_USE:-false}
|
||||
OPENSEARCH_NODE: ${OPENSEARCH_NODE:-}
|
||||
OPENSEARCH_USERNAME: ${OPENSEARCH_USERNAME:-}
|
||||
OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD:-}
|
||||
NAVER_WORKS_ENABLED: ${NAVER_WORKS_ENABLED:-false}
|
||||
NAVER_WORKS_API_BASE_URL: ${NAVER_WORKS_API_BASE_URL:-https://www.worksapis.com/v1.0}
|
||||
NAVER_WORKS_AUTH_URL: ${NAVER_WORKS_AUTH_URL:-https://auth.worksmobile.com/oauth2/v2.0/token}
|
||||
NAVER_WORKS_ACCESS_TOKEN: ${NAVER_WORKS_ACCESS_TOKEN:-}
|
||||
NAVER_WORKS_BOT_ID: ${NAVER_WORKS_BOT_ID:-}
|
||||
NAVER_WORKS_DEFAULT_ROOM_ID: ${NAVER_WORKS_DEFAULT_ROOM_ID:-}
|
||||
NAVER_WORKS_CLIENT_ID: ${NAVER_WORKS_CLIENT_ID:-}
|
||||
NAVER_WORKS_CLIENT_SECRET: ${NAVER_WORKS_CLIENT_SECRET:-}
|
||||
NAVER_WORKS_SERVICE_ACCOUNT: ${NAVER_WORKS_SERVICE_ACCOUNT:-}
|
||||
NAVER_WORKS_PRIVATE_KEY: ${NAVER_WORKS_PRIVATE_KEY:-}
|
||||
NAVER_WORKS_SCOPE: ${NAVER_WORKS_SCOPE:-bot.message bot}
|
||||
NAVER_WORKS_MAX_RETRIES: ${NAVER_WORKS_MAX_RETRIES:-3}
|
||||
NAVER_WORKS_MAX_MESSAGE_LENGTH: ${NAVER_WORKS_MAX_MESSAGE_LENGTH:-1000}
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
secretary-api:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/secretary-api.dockerfile
|
||||
environment:
|
||||
APP_NAME: secretary-api
|
||||
APP_ENV: ${APP_ENV:-staging}
|
||||
APP_HOST: 0.0.0.0
|
||||
APP_PORT: 8010
|
||||
DOCS_ROOT_PATH: /secretary-docs
|
||||
DATABASE_URL: mysql+pymysql://baron_support:baron_support@mysql-secretary:3306/baron_support
|
||||
ABC_API_BASE_URL: http://api:4000
|
||||
ABC_API_KEY: ${SECRETARY_ABC_API_KEY:-}
|
||||
MASTER_API_KEY: ${MASTER_API_KEY:-}
|
||||
ADMIN_CANDIDATE_TENANT_ID: ${ADMIN_CANDIDATE_TENANT_ID:-}
|
||||
INITIAL_SUPER_ADMIN_PHONE_NUMBER: ${INITIAL_SUPER_ADMIN_PHONE_NUMBER:-}
|
||||
SSO_ISSUER: ${SSO_ISSUER:-}
|
||||
SSO_CLIENT_ID: ${SSO_CLIENT_ID:-}
|
||||
SSO_CLIENT_SECRET: ${SSO_CLIENT_SECRET:-}
|
||||
JWT_SECRET: ${JWT_SECRET}
|
||||
UPLOAD_ROOT_DIR: /app/uploads
|
||||
UPLOAD_MAX_FILE_SIZE_MB: ${UPLOAD_MAX_FILE_SIZE_MB:-30}
|
||||
depends_on:
|
||||
api:
|
||||
condition: service_started
|
||||
mysql-secretary:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ../uploads:/app/uploads
|
||||
restart: unless-stopped
|
||||
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
command:
|
||||
[
|
||||
'--default-authentication-plugin=mysql_native_password',
|
||||
'--collation-server=utf8mb4_bin',
|
||||
]
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: userfeedback
|
||||
MYSQL_DATABASE: userfeedback
|
||||
MYSQL_USER: userfeedback
|
||||
MYSQL_PASSWORD: userfeedback
|
||||
TZ: UTC
|
||||
# 스테이징 외부 DB 접속용 포트입니다.
|
||||
ports:
|
||||
- '${MYSQL_PORT:-13306}:3306'
|
||||
healthcheck:
|
||||
test:
|
||||
[
|
||||
'CMD-SHELL',
|
||||
'mysqladmin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD --silent',
|
||||
]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 30
|
||||
start_period: 15s
|
||||
volumes:
|
||||
- mysql:/var/lib/mysql
|
||||
restart: unless-stopped
|
||||
|
||||
mysql-secretary:
|
||||
hostname: mysql-secretary
|
||||
image: mysql:8.0
|
||||
command:
|
||||
[
|
||||
'--default-authentication-plugin=mysql_native_password',
|
||||
'--collation-server=utf8mb4_bin',
|
||||
'--default-time-zone=+09:00',
|
||||
]
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: baron_support
|
||||
MYSQL_DATABASE: baron_support
|
||||
MYSQL_USER: baron_support
|
||||
MYSQL_PASSWORD: baron_support
|
||||
TZ: Asia/Seoul
|
||||
# 스테이징 외부 DB 접속용 포트입니다.
|
||||
ports:
|
||||
- '${MYSQL_SECRETARY_PORT:-13308}:3306'
|
||||
healthcheck:
|
||||
test:
|
||||
[
|
||||
'CMD-SHELL',
|
||||
'mysqladmin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD --silent',
|
||||
]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 30
|
||||
start_period: 15s
|
||||
volumes:
|
||||
- mysql-secretary:/var/lib/mysql
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
mysql:
|
||||
mysql-secretary:
|
||||
Reference in New Issue
Block a user