hotfix: remove server/.env from git and implement backup/restore logic in update script to enforce dev/prod separation

This commit is contained in:
choibk 2026-01-26 08:40:07 +09:00
parent ab9aecd7d5
commit ea82919bfe
3 changed files with 11 additions and 25 deletions

1
.gitignore vendored
View File

@ -39,6 +39,7 @@ ehthumbs.db
Desktop.ini Desktop.ini
# Project Specific - Server # Project Specific - Server
server/.env
server/uploads/* server/uploads/*
!server/uploads/.gitkeep !server/uploads/.gitkeep
server/server.zip server/server.zip

View File

@ -1,23 +0,0 @@
# ==============================================
# [Common Settings]
# ==============================================
DB_HOST=sokuree.com
DB_USER=choibk
DB_PASSWORD=^Ocean1472bk
PORT=3005
# ==============================================
# [Development Environment] - Local Windows
# ==============================================
# 로컬 개발용 DB (분리됨: sokuree_platform_dev)
DB_NAME=sokuree_platform_dev
DB_PORT=3307
# Windows 환경 호환성 (tcp는 권한 오류 발생 가능)
CCTV_TRANSPORT_OVERRIDE=auto
# ==============================================
# [Production Environment] - Synology NAS
# ==============================================
# DB_NAME=sokuree_platform_prod
# DB_PORT=3307

View File

@ -616,13 +616,17 @@ router.post('/version/update', isAuthenticated, hasRole('admin'), async (req, re
echo [Update] Starting update to ${targetTag}... echo [Update] Starting update to ${targetTag}...
if not exist "${backupDir}" mkdir "${backupDir}" if not exist "${backupDir}" mkdir "${backupDir}"
echo [Update] Backing up Uploads... echo [Update] Backing up Uploads & Config...
tar -czvf "${backupDir}/backup_images_${timestamp}.tar.gz" server/uploads/ tar -czvf "${backupDir}/backup_images_${timestamp}.tar.gz" server/uploads/
if exist "server\\.env" copy "server\\.env" "${backupDir}\\env_backup_${timestamp}"
echo [Update] Syncing Source Code... echo [Update] Syncing Source Code...
git fetch "${remoteUrl}" +refs/tags/*:refs/tags/* --force --prune --prune-tags git fetch "${remoteUrl}" +refs/tags/*:refs/tags/* --force --prune --prune-tags
git checkout -f ${targetTag} git checkout -f ${targetTag}
echo [Update] Restoring Config...
if exist "${backupDir}\\env_backup_${timestamp}" copy /Y "${backupDir}\\env_backup_${timestamp}" "server\\.env"
echo [Update] Installing & Building... echo [Update] Installing & Building...
call npm install call npm install
call npm run build call npm run build
@ -643,14 +647,18 @@ mkdir -p ${backupDir}
echo "[Update] Backing up Database..." echo "[Update] Backing up Database..."
${dumpTool} -u ${dbUser} --password='${dbPass}' --port ${dbPort} ${dbName} > ${backupDir}/backup_db_${timestamp}.sql || echo "DB Backup Failed, continuing..." ${dumpTool} -u ${dbUser} --password='${dbPass}' --port ${dbPort} ${dbName} > ${backupDir}/backup_db_${timestamp}.sql || echo "DB Backup Failed, continuing..."
echo "[Update] Backing up Uploads..." echo "[Update] Backing up Uploads & Config..."
tar -czvf ${backupDir}/backup_images_${timestamp}.tar.gz server/uploads/ tar -czvf ${backupDir}/backup_images_${timestamp}.tar.gz server/uploads/
cp server/.env ${backupDir}/.env.backup.${timestamp}
echo "[Update] Syncing Source Code..." echo "[Update] Syncing Source Code..."
git remote set-url origin "${remoteUrl}" git remote set-url origin "${remoteUrl}"
git fetch origin +refs/tags/*:refs/tags/* --force --prune --prune-tags git fetch origin +refs/tags/*:refs/tags/* --force --prune --prune-tags
git checkout -f ${targetTag} git checkout -f ${targetTag}
echo "[Update] Restoring Config..."
cp ${backupDir}/.env.backup.${timestamp} server/.env
echo "[Update] Installing & Building..." echo "[Update] Installing & Building..."
npm install npm install
npm run build npm run build