Job Description
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/[login to view URL]); uploads in a data folder
• Docker image (node:22-alpine) and [login to view URL] 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 [login to view URL] 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.
---
來源:Freelancer.com | 出價次數:102 | 剩餘時間:7 日 | 專案類型:固定預算