Hero Image
CI/CD & Production Infrastructure for a Social App

Production Infrastructure & CI/CD for a Social App Launch Client Puzzle Master β€” a social matching platform Challenge The startup had a production-ready Nest.js backend and Angular frontend, but zero infrastructure: deployments were manual, there was no CI/CD, no monitoring, no backups, and no separation between dev and prod environments. The goal was to build a complete DevOps stack from scratch before the public launch. Solution 1. Application Containerization Multi-stage Dockerfile for backend (Nest.js + Prisma, non-root user) Multi-stage Dockerfile for frontend (Angular 12, legacy OpenSSL, Nginx for static assets) Docker Compose full stack: PostgreSQL 15, Redis 7, imgproxy, Nginx Healthchecks and depends_on for correct startup ordering Isolated dev and prod environments in /opt/dev and /opt/prod 2. GitLab CI/CD Migration of repository from Bitbucket to GitLab Pipeline for backend and frontend: build β†’ push β†’ deploy GitLab Container Registry for Docker image storage Automatic deploy to dev on every push; manual trigger for prod SSH deployment to VPS via SSH_PRIVATE_KEY 3. Nginx Reverse Proxy Environment-agnostic config via envsubst for dev/prod parity SSL/TLS (TLSv1.2, TLSv1.3) with Cloudflare certificates Routing: /api/* β†’ backend:4000, /* β†’ frontend:80 www β†’ root domain redirect (301) Separate imgproxy stack with SSL termination 4. Security (Ansible) Server hardening via Ansible: SSH key-only auth, root login disabled UFW Firewall: only ports 80, 443, and custom SSH open Database accessible only via SSH tunnel All secrets stored in GitLab CI/CD variables 5. Monitoring Prometheus + Grafana with automated dashboard provisioning Exporters: Node, cAdvisor, Postgres, Redis, Nginx, Blackbox 5 Grafana dashboards: server, Docker containers, PostgreSQL, Redis, Nginx Alertmanager with Slack/webhook integration; alerts on CPU/RAM/Disk/API/SSL 6. Database Backups Automated pg_dump every hour gzip compression and upload to S3-compatible object storage (Cloudflare R2) Prometheus backup metrics: success status, size, timestamp Alerts: DatabaseBackupMissing, DatabaseBackupFailed, DatabaseBackupSizeAnomaly Technologies GitLab CI Docker Ansible Prometheus Nginx PostgreSQL Results βœ… Deploy: git push to main β†’ automatic build and deploy to server βœ… Environments: full dev/prod isolation on a single VPS βœ… Monitoring: 5 dashboards, alerts across 6 categories βœ… Backups: automated hourly pg_dump to Cloudflare R2 βœ… Security: UFW, key-based SSH, database inaccessible from outside βœ… Scalability: architecture ready for database extraction to a dedicated server

Hero Image
Migration and DevOps for a CS-Cart Marketplace

Infrastructure and Deployment of a Multi-Vendor CS-Cart Marketplace Client Multi-vendor marketplace Challenge Revive a legacy marketplace project and migrate it from standard shared hosting to a modern cloud environment. Ensure high availability, build CI/CD infrastructure, set up test environments, integrate third-party delivery services, and automate routine operations with AI. At the final stage, prepare an on-premise server (NAS) on the client side for cold repository storage. Solution 1. Infrastructure in Yandex Cloud (Terraform) Built IaC configuration (Terraform) to provision Yandex Cloud infrastructure (virtual networks, VMs). Configured separate virtual machines for production and development environments. Attached and partitioned additional disks, deployed automated backups for databases and files to Yandex Object Storage (S3). Used Yandex Cloud Postbox for reliable service email delivery (domain, SPF, DKIM configured). 2. Containerization and Microservices Migrated the marketplace from classic hosting to a Docker-based VPS environment. Built a custom Dockerfile for CS-Cart and a docker-compose stack with a microservice-oriented web server architecture. Established full-featured dev and prod environments. Configured deployment pipelines via a local Git server (Forgejo). 3. Marketplace Platform (CS-Cart) Upgraded the CS-Cart core and optimized the database by removing obsolete, unused plugins. Deployed a clean platform installation with a new commercial theme. Configured multi-vendor business logic: role separation and seller dashboards. Integrated and configured modules: dynamic product loading, AI capabilities, smart live search, and SEO module. Integrated shipping (CDEK) and payment systems. Launched automated data exchange with 1C accounting systems. 4. Automation and n8n Deployed n8n process orchestration. Integrated ChatGPT API to automate repetitive operations such as content generation and normalization. Configured workers and triggers for store business workflows. 5. Security and Cloudflare Configured Cloudflare Proxy DNS. Implemented Cloudflare Turnstile to reduce spam during sign-up and checkout flows. Added bot protection: disabled direct registrations, configured strict caching, and filtered low-quality traffic. Installed SSL certificates and configured proper redirects. 6. On-Premise Infrastructure and Documentation Set up a dedicated subdomain with a wiki engine for technical and user documentation. Implemented local infrastructure in the client’s office based on Synology NAS: Docker, S3 buckets, and backups. Deployed a local Git server (Forgejo) with a CI/CD runner for version control and long-term preservation of project assets. Collected a complete backup of Terraform states, passwords, codebases, and configurations. 7. Project Archival and Repositories Migrated the production site to backup hosting for archival mode and disabled active synchronizations. Procured and configured Synology NAS in the office: external access, Docker, S3 buckets. Deployed Forgejo with a runner under the git.* domain. Repositories included: website source code, theme and add-ons, documentation, n8n workflows, Telegram bots, DB backups, terraform-yandex, terraform-cloudflare, and password vault. Technologies Docker Terraform Yandex Cloud Nginx Forgejo Linux Results βœ… Infrastructure: shared hosting β†’ VPS in Yandex Cloud via Terraform, fully containerized with Docker βœ… Platform: clean CS-Cart Multi-Vendor installation replaced a heavily modified legacy core βœ… Theme and modules: commercial theme, live search, UX/UI improvements, SMS authentication, AJAX catalog βœ… Integrations: CDEK, Boxberry, Russian Post, Faster Payments System (SBP), and dual-environment 1C exchange βœ… Documentation: wiki on docs.* subdomain with a complete project structure βœ… Automation: n8n + ChatGPT API for routine operations βœ… Backups: Yandex Object Storage + mirrored copy on office Synology NAS βœ… Git: self-hosted Forgejo on NAS with runner and full project repositories βœ… Archival handover: project fully transferred to the client’s on-premise Synology NAS, including a private Forgejo Git server.