This repository was archived by the owner on Jun 24, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcompose-prod-like.yml
More file actions
122 lines (117 loc) · 4.06 KB
/
compose-prod-like.yml
File metadata and controls
122 lines (117 loc) · 4.06 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#
# 実際に使用しているファイルではなく、手軽に本番用のコンテナを検証するためのファイルです。
#
# dc -f compose-prod.yml up -d --build
#
services:
backend:
build:
context: ./backend
dockerfile: ../infra/prod/container/backend/Dockerfile
tty: true
stdin_open: true
# restart: always
ports:
- "2010:2010"
depends_on:
redis:
condition: service_started
db:
condition: service_healthy
environment:
- APP_NAME=かどで日記3
- APP_ENV=production
- APP_KEY=${APP_KEY}
- APP_DEBUG=false
# frontend,backendでも名前解決できるが、cookieの都合で同じ名前が使えるものを指定
- APP_URL=http://localhost:2010
- FRONTEND_URL=http://localhost:2000
- ALLOWED_ORIGIN=http://localhost:2000
- SANCTUM_STATEFUL_DOMAINS=localhost:2000
- SESSION_DOMAIN=localhost
- LOG_CHANNEL=single
- LOG_LEVEL=debug
- LOG_STDERR_FORMATTER=${LOG_STDERR_FORMATTER:-Monolog\Formatter\JsonFormatter}
- DB_CONNECTION=${DB_CONNECTION:-mysql}
- DB_PORT=${DB_PORT:-3306}
- DB_HOST=${DB_HOST:-db}
- DB_DATABASE=${DB_DATABASE:-kadode_local}
- DB_USERNAME=${DB_USERNAME:-phper}
- DB_PASSWORD=${DB_PASSWORD:-secret}
- BROADCAST_DRIVER=log
- CACHE_DRIVER=redis
- QUEUE_CONNECTION=sync
- SESSION_DRIVER=redis
- SESSION_LIFETIME=120
- MEMCACHED_HOST=127.0.0.1
- REDIS_HOST=redis
- REDIS_PASSWORD=null
- REDIS_PORT=6379
- MAIL_MAILER=smtp
- MAIL_HOST=mail
- MAIL_PORT=1025
- MAIL_USERNAME=null
- MAIL_PASSWORD=null
- MAIL_ENCRYPTION=null
- MAIL_FROM_ADDRESS=noreply@usuyuki.net
- MAIL_FROM_NAME=かどで日記
- LOG_SLACK_LEVEL=error
- GOOGLE_APPLICATION_CREDENTIALS={$GOOGLE_APPLICATION_CREDENTIALS}
- GCS_PACKET={$GCS_PACKET}
- BACKUP_NOTIFICATION_EMAIL_TO={$BACKUP_NOTIFICATION_EMAIL_TO}
- SERVER_BACKUP_PATH={$SERVER_BACKUP_PATH}
- GRPC_SERVER_URL=nlp:2020
# Google認証関連
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
- GOOGLE_CALLBACK_URL=${GOOGLE_CALLBACK_URL}
# GitHub認証関連
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
- GITHUB_CALLBACK_URL=${GITHUB_CALLBACK_URL}
nlp:
build:
context: ./nlp
dockerfile: ../infra/prod/container/nlp/Dockerfile
tty: true
stdin_open: true
depends_on:
db:
condition: service_healthy
environment:
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=${DB_NAME:-kadode_local}
- DB_USERNAME=${DB_USER:-phper}
- DB_PASSWORD=${DB_PASS:-secret}
frontend:
build:
context: ./frontend
dockerfile: ../infra/prod/container/frontend/Dockerfile
tty: true
stdin_open: true
ports:
- "2000:2000"
user: "1000:1000"
environment:
# PUBLICつけることでクライアント側でも使えるようにする(SvelteKitの仕様)
- PUBLIC_API_URL=http://backend:2010
# dockerを使っている都合上 サーバーサイドから見るAPIとクライアントから見るAPIが違うので、帳尻合わせ用(本番ではどちらも使わない)
- PUBLIC_API_SERVER_SIDE_URL=http://backend:2010
- PUBLIC_API_CLIENT_SIDE_URL=http://localhost:2010
# 原則APP_URLはバックエンドで処理されるものに使う。クライアントに投げられるものは$app.storesを使う
- PUBLIC_APP_URL=http://localhost:2000
- PUBLIC_LOGIN_PATH=/login
# command: sh -c "pnpm install"
db: # 3306port
image: "mysql/mysql-server:8.0"
environment:
- MYSQL_ROOT_PASSWORD=${DB_NAME:-example}
- MYSQL_DATABASE=${DB_NAME:-kadode_local}
- MYSQL_USER=${DB_USER:-phper}
- MYSQL_PASSWORD=${DB_PASS:-secret}
redis: # 6379 port
image: "redis:alpine"
volumes:
- "./data/redis:/data"
- "./infra/prod/container/redis/redis.conf:/etc/redis.conf"