From ea82919bfea58d80aac480aa11d031affc836892 Mon Sep 17 00:00:00 2001 From: choibk Date: Mon, 26 Jan 2026 08:40:07 +0900 Subject: [PATCH] hotfix: remove server/.env from git and implement backup/restore logic in update script to enforce dev/prod separation --- .gitignore | 1 + server/.env | 23 ----------------------- server/routes/system.js | 12 ++++++++++-- 3 files changed, 11 insertions(+), 25 deletions(-) delete mode 100644 server/.env diff --git a/.gitignore b/.gitignore index 68f51c2..4dba348 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ ehthumbs.db Desktop.ini # Project Specific - Server +server/.env server/uploads/* !server/uploads/.gitkeep server/server.zip diff --git a/server/.env b/server/.env deleted file mode 100644 index ab7d08a..0000000 --- a/server/.env +++ /dev/null @@ -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 - diff --git a/server/routes/system.js b/server/routes/system.js index 4955a9d..14efba1 100644 --- a/server/routes/system.js +++ b/server/routes/system.js @@ -616,13 +616,17 @@ router.post('/version/update', isAuthenticated, hasRole('admin'), async (req, re echo [Update] Starting update to ${targetTag}... 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/ +if exist "server\\.env" copy "server\\.env" "${backupDir}\\env_backup_${timestamp}" echo [Update] Syncing Source Code... git fetch "${remoteUrl}" +refs/tags/*:refs/tags/* --force --prune --prune-tags 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... call npm install call npm run build @@ -643,14 +647,18 @@ mkdir -p ${backupDir} echo "[Update] Backing up Database..." ${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/ +cp server/.env ${backupDir}/.env.backup.${timestamp} echo "[Update] Syncing Source Code..." git remote set-url origin "${remoteUrl}" git fetch origin +refs/tags/*:refs/tags/* --force --prune --prune-tags git checkout -f ${targetTag} +echo "[Update] Restoring Config..." +cp ${backupDir}/.env.backup.${timestamp} server/.env + echo "[Update] Installing & Building..." npm install npm run build