Deploy Secure Node.js App to VPS with Future SQL Migration
Budget / Salary$1,500–3,000
TypeFreelance project
LocationRemote
Posted3 hours ago
Title: Deploy a Node.js 22 business app to a cloud VPS (Docker, Caddy, HTTPS, backups, monitoring)
Description
We're a new home-services call center (experienced team) launching our internal business app in the next 30 days. The app is already built and runs locally. We need an experienced DevOps or Node.js engineer to put it on a production cloud server, make sure everything works, and hand us a simple runbook.
About the app
• Node.js 22, plain JavaScript, no npm packages; built-in http server with a small router
• Data in one JSON file on disk (data/db.json); uploads in a data folder
• Docker image (node:22-alpine) and docker-compose.yml with Caddy for HTTPS are included; also runs as a Linux service behind Caddy
• Health check at /healthz; settings through environment variables
• Code in a private GitHub repository (access given after hire and NDA)
Scope
1. Help us choose and set up the hosting account (US East VPS with a permanent disk, snapshots and Docker; we'll pay the host directly).
2. Harden the server: SSH keys only, firewall (80, 443 only), automatic security updates, non-root user.
3. Deploy production with docker-compose and Caddy; point myserviceprocall.com and set up HTTPS.
4. Set up a smaller staging copy on its own subdomain.
5. Persistent /data volume; daily server snapshots plus a nightly off-server copy of the data folder; run one test restore.
6. Uptime monitoring with text/email alerts, log rotation, and a simple status page.
7. A deploy script or GitHub Actions workflow: push to deploy to staging, one command to promote to production, one-step rollback.
8. Test the app end to end with us: sign-in, main screens, email sending (SMTP), file uploads, restart survival.
9. A short runbook: how to deploy, roll back, restore, rotate secrets and check health.
10. Future releases over the next 90 days to 6 months will require additional hours of work including migrating from JSON storage to SQL.
Description
We're a new home-services call center (experienced team) launching our internal business app in the next 30 days. The app is already built and runs locally. We need an experienced DevOps or Node.js engineer to put it on a production cloud server, make sure everything works, and hand us a simple runbook.
About the app
• Node.js 22, plain JavaScript, no npm packages; built-in http server with a small router
• Data in one JSON file on disk (data/db.json); uploads in a data folder
• Docker image (node:22-alpine) and docker-compose.yml with Caddy for HTTPS are included; also runs as a Linux service behind Caddy
• Health check at /healthz; settings through environment variables
• Code in a private GitHub repository (access given after hire and NDA)
Scope
1. Help us choose and set up the hosting account (US East VPS with a permanent disk, snapshots and Docker; we'll pay the host directly).
2. Harden the server: SSH keys only, firewall (80, 443 only), automatic security updates, non-root user.
3. Deploy production with docker-compose and Caddy; point myserviceprocall.com and set up HTTPS.
4. Set up a smaller staging copy on its own subdomain.
5. Persistent /data volume; daily server snapshots plus a nightly off-server copy of the data folder; run one test restore.
6. Uptime monitoring with text/email alerts, log rotation, and a simple status page.
7. A deploy script or GitHub Actions workflow: push to deploy to staging, one command to promote to production, one-step rollback.
8. Test the app end to end with us: sign-in, main screens, email sending (SMTP), file uploads, restart survival.
9. A short runbook: how to deploy, roll back, restore, rotate secrets and check health.
10. Future releases over the next 90 days to 6 months will require additional hours of work including migrating from JSON storage to SQL.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.