v1.12.27 NAS 실행 yaml 및 명시적 이미지 빌드 분리

This commit is contained in:
2026-10-21 17:36:47 +09:00
parent 345de36bd1
commit 2d4431e698
17 changed files with 195 additions and 46 deletions

45
docker-compose.yaml Normal file
View File

@@ -0,0 +1,45 @@
name: ${COMPOSE_PROJECT_NAME:-sori-studio}
services:
sori-studio:
image: sori-studio:latest
pull_policy: never
container_name: sori-studio
env_file:
- ${ENV_FILE:-.env.production}
ports:
- "${APP_PORT:-43080}:3000"
volumes:
- ./public/uploads:/app/public/uploads
depends_on:
- sori-studio-db
networks:
- sori-studio-network
restart: unless-stopped
sori-studio-db:
image: postgres:16-alpine
container_name: sori-studio-db
env_file:
- ${ENV_FILE:-.env.production}
ports:
- "${DB_BIND_ADDRESS:-127.0.0.1}:${DB_PORT:-43081}:5432"
volumes:
- sori-studio-postgres:/var/lib/postgresql/data
# NAS 등: 호스트 db/migrations 가 다른 UID만 읽을 수 있으면 컨테이너에서 Permission denied → DB 재시작 루프. 프로젝트 루트에서 chmod -R a+rX db/migrations 및 상위 경로 통과 권한 확인.
- ./db/migrations:/docker-entrypoint-initdb.d:ro
networks:
- sori-studio-network
restart: unless-stopped
volumes:
sori-studio-postgres:
name: ${POSTGRES_VOLUME_NAME:-soristudio_sori-studio-postgres}
external: true
networks:
sori-studio-network:
driver: bridge
ipam:
config:
- subnet: ${DOCKER_SUBNET:-10.250.50.0/24}