-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdocker-compose-prod.yaml
More file actions
101 lines (97 loc) · 3.7 KB
/
docker-compose-prod.yaml
File metadata and controls
101 lines (97 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
version: '2.4'
services:
rabbitmq:
# image: 'rabbitmq:3-management'
image: 'rabbitmq:3.8-alpine'
container_name: rabbitmq-container
ports:
- '5672:5672'
environment:
- RABBITMQ_DEFAULT_USER=guest
- RABBITMQ_DEFAULT_PASS=guest
mem_limit: 256m # 메모리 제한 (128MB)
cpu_shares: 200 # CPU 우선 순위 (상대적 값)
volumes:
- ./enabled_plugins:/etc/rabbitmq/enabled_plugins
- rabbitmq_data:/var/lib/rabbitmq
healthcheck:
test: [ "CMD", "rabbitmqctl", "status" ]
interval: 30s
timeout: 10s
retries: 3
app:
build: .
image: ${DOCKERHUB_USERNAME}/oneshot:latest
container_name: oneshot-app
# restart: always
environment:
#
SPRING_PROFILES_ACTIVE: prod
#
PAYMENT_SECRETKEY: ${PAYMENT_SECRET_KEY}
#
# ////////////////
# // Prod //
# ////////////////
#
# SQL
SPRING_DATASOURCE_URL: jdbc:mysql://${RDS_ENDPOINT}:3306/oneshot
SPRING_DATASOURCE_USERNAME: ${RDS_USERNAME}
SPRING_DATASOURCE_PASSWORD: ${RDS_PASSWORD}
# Redis
SPRING_DATA_REDIS_HOST: ${REDIS_HOST}
SPRING_DATA_REDIS_PORT: 6379
# ElasticSearch
ELASTICSEARCH_HOST: ${OPENSEARCH_HOST}
ELASTICSEARCH_PORT: 443
ELASTICSEARCH_USERNAME: ${OPENSEARCH_USERNAME}
ELASTICSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD}
# S3
CLOUD_AWS_CREDENTIALS_ACCESSKEY: ${AWS_ACCESS_KEY}
CLOUD_AWS_CREDENTIALS_SECRETKEY: ${AWS_SECRET_KEY}
CLOUD_AWS_S3_BUCKETNAME: oneshot-bucket2
# RabbitMQ
SPRING_RABBITMQ_HOST: ${RABBITMQ_HOST}
SPRING_RABBITMQ_PORT: ${RABBITMQ_PORT}
SPRING_RABBITMQ_USERNAME: ${RABBITMQ_USERNAME}
SPRING_RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD}
RABBITMQ_EXCHANGE_EVENT: ${RABBITMQ_EXCHANGE_EVENT}
RABBITMQ_QUEUE_EVENT: ${RABBITMQ_QUEUE_EVENT}
RABBITMQ_ROUTING_KEY_EVENT: ${RABBITMQ_ROUTING_KEY_EVENT}
#
# ////////////////
# // Security //
# ////////////////
#
JWT_SECRET_KEY: ${JWT_SECRET_KEY}
#
SUPER_USERNAME: ${SUPER_USERNAME}
SUPER_NICKNAME: ${SUPER_NICKNAME}
SUPER_PASSWORD: ${SUPER_PASSWORD}
#
# NAVER
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_NAVER_CLIENT_ID: ${OAUTH2_NAVER_CLIENT_ID}
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_NAVER_CLIENT_SECRET: ${OAUTH2_NAVER_CLIENT_SECRET}
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_NAVER_REDIRECT_URI: "{baseUrl}/login/oauth2/code/naver"
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_NAVER_AUTHORIZATION_GRANT_TYPE: authorization_code
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_NAVER_CLIENT_NAME: Naver
#
# GOOGLE
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_ID: ${OAUTH2_GOOGLE_CLIENT_ID}
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_SECRET: ${OAUTH2_GOOGLE_CLIENT_SECRET}
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_REDIRECT_URI: "{baseUrl}/login/oauth2/code/google"
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_AUTHORIZATION_GRANT_TYPE: authorization_code
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_SCOPE: profile
#
# NAVER Provider
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_NAVER_AUTHORIZATION_URI: https://nid.naver.com/oauth2.0/authorize
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_NAVER_TOKEN_URI: https://nid.naver.com/oauth2.0/token
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_NAVER_USER_INFO_URI: https://openapi.naver.com/v1/nid/me
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_NAVER_USER_NAME_ATTRIBUTE: response
ports:
- "8080:8080"
depends_on:
rabbitmq:
condition: service_healthy
volumes:
rabbitmq_data: