Enhance deployment script to handle symlinks and ensure proper data restoration from backup
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 48s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 48s
This commit updates the deploy-production.sh script to check if the server/data directory is a symlink and removes it if necessary, ensuring that data is copied to a real directory. It also modifies the data restoration process to follow symlinks when copying from the backup, improving the reliability of data recovery during deployment.
This commit is contained in:
62
harheimertc.test.config.cjs
Normal file
62
harheimertc.test.config.cjs
Normal file
@@ -0,0 +1,62 @@
|
||||
// Load environment variables from .env (production secrets)
|
||||
// Für Test-Instanz: /var/www/harheimertc.test/.env
|
||||
try {
|
||||
// eslint-disable-next-line global-require
|
||||
require('dotenv').config({ path: '/var/www/harheimertc.test/.env' })
|
||||
} catch (_e) {
|
||||
// If dotenv isn't available or .env missing, continue (process.env may be set elsewhere)
|
||||
}
|
||||
|
||||
// Helper function to create env object
|
||||
function createEnv(port) {
|
||||
return {
|
||||
NODE_ENV: 'production',
|
||||
PORT: port,
|
||||
// Secrets/Config (loaded from .env above, if present)
|
||||
ENCRYPTION_KEY: process.env.ENCRYPTION_KEY,
|
||||
JWT_SECRET: process.env.JWT_SECRET,
|
||||
SMTP_HOST: process.env.SMTP_HOST,
|
||||
SMTP_PORT: process.env.SMTP_PORT,
|
||||
SMTP_USER: process.env.SMTP_USER,
|
||||
SMTP_PASS: process.env.SMTP_PASS,
|
||||
SMTP_FROM: process.env.SMTP_FROM,
|
||||
SMTP_ADMIN: process.env.SMTP_ADMIN,
|
||||
NUXT_PUBLIC_BASE_URL: process.env.NUXT_PUBLIC_BASE_URL,
|
||||
COOKIE_SECURE: process.env.COOKIE_SECURE,
|
||||
COOKIE_SAMESITE: process.env.COOKIE_SAMESITE,
|
||||
CSP_ENABLED: process.env.CSP_ENABLED,
|
||||
CSP_REPORT_ONLY: process.env.CSP_REPORT_ONLY,
|
||||
CSP_VALUE: process.env.CSP_VALUE,
|
||||
HIBP_ENABLED: process.env.HIBP_ENABLED,
|
||||
HIBP_USER_AGENT: process.env.HIBP_USER_AGENT,
|
||||
HIBP_TIMEOUT_MS: process.env.HIBP_TIMEOUT_MS,
|
||||
HIBP_CACHE_TTL_MS: process.env.HIBP_CACHE_TTL_MS,
|
||||
HIBP_FAIL_CLOSED: process.env.HIBP_FAIL_CLOSED,
|
||||
AUDIT_LOG_ENABLED: process.env.AUDIT_LOG_ENABLED,
|
||||
WEBAUTHN_ORIGIN: process.env.WEBAUTHN_ORIGIN,
|
||||
WEBAUTHN_RP_ID: process.env.WEBAUTHN_RP_ID,
|
||||
WEBAUTHN_RP_NAME: process.env.WEBAUTHN_RP_NAME,
|
||||
WEBAUTHN_REQUIRE_UV: process.env.WEBAUTHN_REQUIRE_UV
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
apps: [
|
||||
{
|
||||
name: 'harheimertc.test',
|
||||
// Nuxt 4 production build: direkt den Node-Server starten (kein "preview mode")
|
||||
script: 'node',
|
||||
args: '.output/server/index.mjs',
|
||||
cwd: '/var/www/harheimertc.test',
|
||||
instances: 1,
|
||||
autorestart: true,
|
||||
watch: false,
|
||||
max_memory_restart: '1G',
|
||||
env: createEnv(process.env.PORT || 3102),
|
||||
error_file: '/var/log/pm2/harheimertc.test-error.log',
|
||||
out_file: '/var/log/pm2/harheimertc.test-out.log',
|
||||
log_file: '/var/log/pm2/harheimertc.test-combined.log',
|
||||
time: true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user