# 호스트 포트는 다른 스택과 겹치지 않게 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