91 lines
3.4 KiB
Markdown
91 lines
3.4 KiB
Markdown
# 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).
|