DevOps + Node.js: Deploy Biligrain SMM Telegram Bot to VPS (n8n, Docker, OmniSocials)
Worldwide
Project: Internal Telegram automation — production VPS (24/7) We operate an internal Telegram bot for a marketing team: content planning, task execution, creative upload, external studio handoff, and social publishing. The stack was migrated from Make.com to n8n and Node.js micro-services. It currently runs on a developer’s Windows PC with a temporary tunnel. We need a production VPS deployment so the bot, schedulers, and publishing pipeline run 24/7 without relying on a local machine. Goal: take an existing private Git repository and deliver a fully operational server environment with documentation and handover. All project communication must stay on Upwork (messages, milestones, deliverables). Do not request or share contact details outside the platform. Current state (already built): - Private Git repo; main stack in n8n-migration/ - n8n workflow: task list, ID lookup, media upload to cloud storage, studio subcontractor flow - Node.js HTTP processors (two services on ports 4567 and 4568) - Supabase (PostgreSQL API) for content plan and user state - Google Drive and Google Sheets (service account) - Third-party social scheduling/publishing API (cross-post to major social networks on creative delivery) - LLM API for weekly content plan generation - Draft production assets: Docker Compose, VPS setup scripts, webhook bootstrap, health monitor - Weekly cron script for content plan generation - Partial pre-publish caption validation (blocks internal spreadsheet fields in public posts) - Not done yet: VPS not provisioned; production still on Windows with a temporary tunnel; ops/monitoring incomplete; post-publish verification not finished. Scope (deliverables) 1. VPS infrastructure - Provision VPS (Hetzner CX22 or equivalent: 2 vCPU, 4 GB RAM, Ubuntu 22.04, EU region) - HTTPS reverse proxy with automatic TLS certificates - Stable Telegram webhook (no temporary tunnel in production) - Firewall, SSH hardening, non-root deploy user 2. Docker production stack - Deploy: n8n, Postgres, two Node processors, reverse proxy, health monitor - Import and activate n8n workflow; verify end-to-end: bot start command → task flow → file upload → cloud storage - Configure secrets (we provide environment files and service account JSON — not in Git) - Document environment variables and deployment paths 3. Server-side schedulers - Weekly content plan: every Friday 09:00 Europe/Kyiv - Recovery job for missed social publishes - Remove dependency on Windows Task Scheduler 4. Social publishing hardening - Public captions only — no internal fields (design briefs, sheet column headers, task IDs, UUIDs) - Wire up pre-publish validation before API calls - Implement post-publish verification (confirm published URLs and status; alert on failure) - Test on real tasks; document rollback procedure 5. Monitoring and alerts - Admin notifications inside the existing bot channel: stack down, webhook errors, publish failures, scheduler failures - Optional: lightweight ops automation or cron-based runbook (separate admin channel — must not replace the production n8n bot) - Runbook: restart, logs, common fixes 6. Handover RUNBOOK.md (deploy, update, backup, restore): - Walkthrough via Upwork video call or screen recording uploaded as a milestone deliverable - Approximately two weeks of support for deployment-related bugs (via Upwork) Development workflow (required): - You must use Cursor IDE as part of your development workflow for this project: Clone and work in the repo using Cursor: - Use the existing codebase context (architecture notes under .planning/codebase/ in the repo) - Document any infra or code changes clearly in commit messages and RUNBOOK - We may share read-only repo access; all edits go through Git with our review - Applicants who cannot use Cursor or prefer to rewrite the stack from scratch without reading the repo are not a fit. Tech stack (required experience): - Node.js 22, Docker Compose - n8n (webhooks, workflows) - Supabase REST, Google Drive/Sheets API - Telegram Bot API, social publishing REST API - Linux VPS, Caddy or nginx, cron or systemd
- Less than 30 hrs/weekHourly
- 1-3 monthsDuration
- ExpertExperience Level
$30.00
-
$60.00
Hourly- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:50+
- Last viewed by client:3 weeks ago
- Hires:1
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United StatesSan Jose10:30 PM
- $34K total spent31 hires, 6 active
- 565 hours
- Food & BeverageMid-sized company (10-99 people)
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by