Skip to content
Palmate Solutions

Architecture Blueprint & Reference Implementation

Containerised delivery on a VPS

B2B application hosting

Overview

A DevOps infrastructure study capturing the standard Palmate engineering pattern when an application requires reproducible environments, automated health checks, and verified recovery procedures.

Business problem

Production was a VM with files changed over SSH. Staging did not match production. TLS renewal was a calendar event. Backups existed as a zip in someone’s cloud drive. A dependency update required tribal knowledge.

Technical challenge

The application had local file uploads and a database that had never been restored. DNS and email were entangled with the same host. Downtime windows were short because staff used the app during business hours.

Requirements

  • Repeatable Docker Compose stack for app, worker, and database
  • Separate staging with anonymised data
  • Automated TLS
  • Off-site encrypted database backups and a restore drill
  • Deploy from git via CI, with a rollback tag

Solution

Package the application, put a reverse proxy in front, move secrets to environment files that are not in git, and make backups a tested job. Keep the same VPS if it is sufficient; do not migrate to a maze of managed services without a reason.

Architecture

01

Edge

Reverse proxy terminates TLS and routes to the app container. Health checks fail closed.

02

Runtime

App and worker containers share an internal network. The database has a named volume and a backup sidecar or host job.

03

Delivery

CI builds images, SSHs or uses a registry, and runs compose pull/up. Previous images remain until rollback is confirmed.

Technology stack

  • Linux
  • Docker Compose
  • Nginx
  • GitHub Actions or equivalent
  • Off-site object storage

Implementation approach

  1. Photograph the current VM: cron, nginx, env files, disk usage
  2. Compose the app locally until tests pass
  3. Stand up staging on a second VM or namespace
  4. Restore a backup into staging before touching production
  5. Cut over DNS with a documented rollback

Outcome

Delivery success is verified when any engineer can trigger zero-downtime deploys and execute a full database restore in minutes with documented runbooks.

Next step

Discuss a similar architecture

If this pattern matches a system you run, bring your current tools and operational bottlenecks. We will evaluate how to design, deliver, and operate a tailored architecture for your team.