prod broken
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 1m3s

This commit is contained in:
2025-11-22 21:47:08 -08:00
parent a2d19abf30
commit ebf634f2d3
5 changed files with 18 additions and 11 deletions

View File

@@ -128,4 +128,11 @@ jobs:
# It will START the process if it's not running, or RELOAD it if it is. # It will START the process if it's not running, or RELOAD it if it is.
# We also add `&& pm2 save` to persist the process list across server reboots. # We also add `&& pm2 save` to persist the process list across server reboots.
pm2 startOrReload ecosystem.config.cjs --env production && pm2 save pm2 startOrReload ecosystem.config.cjs --env production && pm2 save
echo "Backend server reloaded successfully." echo "Backend server reloaded successfully."
- name: Show PM2 Environment for Production
run: |
echo "--- PM2 Environment for flyer-crawler-app ---"
# This command inspects the running process and shows its environment variables.
# It helps verify that the correct .env file or ecosystem variables are being used.
pm2 describe flyer-crawler-app | grep -E 'DB_DATABASE|DB_NAME|DB_USER|DB_HOST' || echo "Could not find process or DB variables."

View File

@@ -27,7 +27,7 @@ server {
# The trailing slash on the proxy_pass URL is crucial. # The trailing slash on the proxy_pass URL is crucial.
# It tells Nginx to strip the `/api/` prefix from the request URI # It tells Nginx to strip the `/api/` prefix from the request URI
# before passing it to the backend server. # before passing it to the backend server.
proxy_pass http://localhost:3001/; proxy_pass http://localhost:3001;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade'; proxy_set_header Connection 'upgrade';
@@ -55,8 +55,8 @@ server {
ssl_certificate_key /etc/letsencrypt/live/flyer-crawler.projectium.com/privkey.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/flyer-crawler.projectium.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
} }
server { server {
if ($host = flyer-crawler.projectium.com) { if ($host = flyer-crawler.projectium.com) {
return 301 https://$host$request_uri; return 301 https://$host$request_uri;
@@ -67,6 +67,4 @@ server {
listen [::]:80; listen [::]:80;
server_name flyer-crawler.projectium.com; server_name flyer-crawler.projectium.com;
return 404; # managed by Certbot return 404; # managed by Certbot
} }

View File

@@ -17,8 +17,9 @@ dotenv.config({ path: '../../.env' });
const pool = new Pool({ const pool = new Pool({
user: process.env.DB_USER || 'postgres', user: process.env.DB_USER || 'postgres',
host: process.env.DB_HOST || 'localhost', host: process.env.DB_HOST || 'localhost',
database: process.env.DB_NAME || 'flyer-crawler', // Default to 'flyer-crawler' for local development.
password: process.env.DB_PASSWORD || 'your_db_password', database: process.env.DB_NAME || 'flyer-crawler-test',
password: process.env.DB_PASSWORD || 'fake_test_db_password', // do not replace this - use appropriate .env file
port: parseInt(process.env.DB_PORT || '5432', 10), port: parseInt(process.env.DB_PORT || '5432', 10),
}); });

View File

@@ -8,8 +8,9 @@ dotenv.config();
const pool = new Pool({ const pool = new Pool({
user: process.env.DB_USER || 'postgres', user: process.env.DB_USER || 'postgres',
host: process.env.DB_HOST || 'localhost', host: process.env.DB_HOST || 'localhost',
database: process.env.DB_NAME || 'flyer-crawler', // Default to 'flyer-crawler' for local development.
password: process.env.DB_PASSWORD || 'your_db_password', database: process.env.DB_NAME || 'flyer-crawler-dev',
password: process.env.DB_PASSWORD || 'fake_test_db_password', // do not replace this - use appropriate .env file
port: parseInt(process.env.DB_PORT || '5432', 10), port: parseInt(process.env.DB_PORT || '5432', 10),
}); });

View File

@@ -21,8 +21,8 @@ const createPool = (): Pool => {
const newPool = new Pool({ const newPool = new Pool({
user: process.env.DB_USER || 'postgres', user: process.env.DB_USER || 'postgres',
host: process.env.DB_HOST || 'localhost', host: process.env.DB_HOST || 'localhost',
database: process.env.DB_NAME || 'flyer-crawler', database: process.env.DB_NAME || 'flyer-crawler-test',
password: process.env.DB_PASSWORD || 'your_db_password', password: process.env.DB_PASSWORD || 'fake_test_db_password', // do not replace this - use appropriate .env file
port: parseInt(process.env.DB_PORT || '5432', 10), port: parseInt(process.env.DB_PORT || '5432', 10),
}); });
logger.info(`Database connection pool created for host: ${process.env.DB_HOST || 'localhost'}`); logger.info(`Database connection pool created for host: ${process.env.DB_HOST || 'localhost'}`);