-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
64 lines (62 loc) · 2.91 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
64 lines (62 loc) · 2.91 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
name: travel-log
services:
db:
image: postgres:18-alpine
environment:
POSTGRES_USER: travel_log
POSTGRES_PASSWORD: travel_log
POSTGRES_DB: travel_log
# データの置き場をdata/1つにまとめ、その下をdb/photos/exportsに切っている
# (本番と同じ形。docker-compose.ymlのdbサービスのコメント参照)
PGDATA: /data/db/18/docker
volumes:
# db/initはマウントしない。スキーマ本体(01_schema.sql)はinitサービスが流す
# (git管理下のdb/initをコンテナに触らせるとホスト側のパーミッションが変わり、
# スキーマを更新したときにgit pullが失敗するようになるため)
# マウント先とPGDATAの決め方は本番用と同じ(docker-compose.ymlのコメント参照)
- ./data:/data
tmpfs:
- /var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U travel_log"]
interval: 5s
timeout: 5s
retries: 10
# 起動時にまず未適用のマイグレーションを当ててから開発サーバを上げる
# (Dockerfileのdevステージのcmd。本番と同じ scripts/migrate.mjs を通る)
app:
build:
context: .
target: dev
depends_on:
db:
condition: service_healthy
environment:
DATABASE_URL: postgres://travel_log:travel_log@db:5432/travel_log
SESSION_SECRET: ${SESSION_SECRET:-local-dev-secret-change-me}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-}
# 公開URL(任意)。本番と同じ挙動を手元で試したいときだけ設定する
# (lib/auth/request-url.ts)
PUBLIC_BASE_URL: ${PUBLIC_BASE_URL:-}
# 周辺のAI探索(任意)。本番と同じ(.env.example の説明参照)
CHIEZO_BASE_URL: ${CHIEZO_BASE_URL:-}
CHIEZO_AI_BACKEND: ${CHIEZO_AI_BACKEND:-}
CHIEZO_AI_TIMEOUT_SECONDS: ${CHIEZO_AI_TIMEOUT_SECONDS:-}
# スマホ実機など、LAN内の別端末から開発サーバを開くときに許可するホスト名・IP
# (カンマ区切り)。未設定だと/_next配下の開発用リソースが403になり真っ白になる
# (next.config.tsのallowedDevOrigins)。手元の.envに書く。
# **1つでも書いたらlocalhost・127.0.0.1も一緒に書くこと**(書いたものだけが
# 許可されるので、開発機自身のブラウザから開いても真っ白になる)
ALLOWED_DEV_ORIGINS: ${ALLOWED_DEV_ORIGINS:-}
NODE_ENV: development
# 写真とエクスポートの置き場。本番と同じくdata/の下にそろえる
# (リポジトリを/appにマウントしているので、ホストからは data/photos・data/exports)
PHOTOS_DIR: /app/data/photos
EXPORTS_DIR: /app/data/exports
ports:
- "7040:7040"
volumes:
- .:/app
- /app/node_modules
- /app/.next