Files
todo.sori.studio/docker-compose.yaml
2026-04-13 14:36:16 +09:00

40 lines
1.3 KiB
YAML

# 호스트 포트는 다른 스택과 겹치지 않게 4만 번대로 둔다. 충돌 시 아래 두 줄만 바꾼다.
# 웹(nginx 정적): 호스트 42881 -> 컨테이너 80
# PocketBase: 호스트 42917 -> 컨테이너 8090
#
# PocketBase 데이터는 호스트 ./pb_data 에 둔다(gitignore).
# 로그에 "unable to open database file (14)" 가 나오면 대부분 ./pb_data 권한 문제다.
# 해결: (1) 아래 user 줄을 비활성화한 채 한 번 기동해 pb_data 생성 후,
# (2) 호스트에서 `sudo chown -R 1000:10 pb_data` 후 user 줄을 다시 켠다.
# UGREEN에서 컨테이너를 1000:10으로 고정하려면 user 줄 주석을 해제한다.
services:
pocketbase:
image: ghcr.io/muchobien/pocketbase:latest
container_name: pocketbase-todo
restart: unless-stopped
# user: "1000:10"
ports:
- "42917:8090"
environment:
PB_HOST: 0.0.0.0
PB_PORT: 8090
volumes:
- ./pb_data:/pb_data
command:
- serve
- --http=0.0.0.0:8090
- --dir=/pb_data
todo-web:
build:
context: .
args:
VITE_POCKETBASE_URL: ${VITE_POCKETBASE_URL:-http://127.0.0.1:42917}
VITE_PUBLIC_APP_URL: ${VITE_PUBLIC_APP_URL:-}
container_name: todo-web
restart: unless-stopped
ports:
- "42881:80"
depends_on:
- pocketbase