# NAS 운영 명령어 해당하는 항목의 코드 블록 전체를 NAS 터미널에 복사해 실행하세요. 오류가 나면 다음 단계는 실행되지 않습니다. ## 일반 재배포 — 코드 업데이트 ```bash cd /volume1/docker/projects/apps/sori.studio && if [ -f docker-compose.yaml ] && ! git ls-files --error-unmatch docker-compose.yaml >/dev/null 2>&1; then mv docker-compose.yaml "docker-compose.yaml.backup.$(date +%Y%m%d-%H%M%S)" fi && git pull --ff-only && sudo sh scripts/build-production-image.sh && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production up -d --pull never && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production ps ``` ## DB 변경이 포함됐다고 안내받은 재배포 ```bash cd /volume1/docker/projects/apps/sori.studio && if [ -f docker-compose.yaml ] && ! git ls-files --error-unmatch docker-compose.yaml >/dev/null 2>&1; then mv docker-compose.yaml "docker-compose.yaml.backup.$(date +%Y%m%d-%H%M%S)" fi && git pull --ff-only && sudo sh scripts/migrate-production-db.sh status && sudo sh scripts/migrate-production-db.sh migrate && sudo sh scripts/build-production-image.sh && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production up -d --pull never && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production ps ``` ## Docker 앱에서 재배포할 때 — 이미지 빌드까지 ```bash cd /volume1/docker/projects/apps/sori.studio && if [ -f docker-compose.yaml ] && ! git ls-files --error-unmatch docker-compose.yaml >/dev/null 2>&1; then mv docker-compose.yaml "docker-compose.yaml.backup.$(date +%Y%m%d-%H%M%S)" fi && git pull --ff-only && sudo sh scripts/build-production-image.sh ``` 빌드 완료 후: **Docker → 프로젝트 → sori-studio → Compose 구성 → 재배포**. 이미지 다운로드·업데이트 옵션이 있다면 해제하세요. ## 코드 변경 없이 앱만 다시 시작 ```bash cd /volume1/docker/projects/apps/sori.studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production restart sori-studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production ps ``` ## 앱 환경설정(.env.production) 변경 후 반영 ```bash cd /volume1/docker/projects/apps/sori.studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production up -d --no-deps --force-recreate --pull never sori-studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production ps ``` ## 현재 실행 상태 확인 ```bash cd /volume1/docker/projects/apps/sori.studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production ps ``` ## 앱 오류 로그 확인 ```bash cd /volume1/docker/projects/apps/sori.studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production logs --tail 100 sori-studio ``` ## DB 오류 로그 확인 ```bash cd /volume1/docker/projects/apps/sori.studio && sudo docker compose -p sori-studio -f docker-compose.yaml --env-file .env.production logs --tail 100 sori-studio-db ``` ## DB 마이그레이션 상태 확인 ```bash cd /volume1/docker/projects/apps/sori.studio && sudo sh scripts/migrate-production-db.sh status ``` 최초 설치·고급 설정·장애 원인 설명: [배포 상세 참고](deploy-reference.md).