Package P1 · from €400

Docker and automated deployments on your VPS

I tidy up an application running on your own server: package it in a container, put nginx with HTTPS in front of it and set up automatic deployments on every code change. No move to the cloud and no monthly platform fees.

When it makes sense

  • Your app runs on a VPS and deploying means logging in over SSH and typing commands.
  • Everything is installed directly on the server and you’re afraid of system updates.
  • You don’t have HTTPS, or the certificate expires every now and then.
  • You want faster deployments, but Kubernetes or the cloud would be overkill.

What you get

  • your app in a Docker container (lean image, no root privileges) with docker compose
  • nginx as a reverse proxy, HTTPS and security headers
  • automatic deployment from GitHub Actions on every change, with a health check and rollback to the previous version
  • a how-to: deploying, rolling back and checking logs
Delivery time
3–7 business days
Price
from €400
Ask about this package

How it works

  1. 01

    Server review

    I check what runs on the VPS today and how, so nothing gets lost when moving to containers.

  2. 02

    Container and docker compose

    The app in a lean image without root, configuration and secrets outside the code, ports reachable only locally.

  3. 03

    nginx and HTTPS

    Reverse proxy, an auto-renewing certificate (Let’s Encrypt or Cloudflare), security headers and rate limits.

  4. 04

    Automated deployments

    GitHub Actions builds the image and deploys it to the server. If the new version doesn’t come up, the previous one is restored.

Proof in code

This very website runs exactly this way: a non-root container with a read-only filesystem, behind nginx with HTTPS, on a VPS. The Dockerfile, docker compose file and nginx configuration are public in the WhiteItLabPage repository. A pipeline with automated deployment, smoke tests and image promotion is in GCP-Java-GKE-CI-CD.

Technologies

  • Docker
  • docker compose
  • nginx
  • GitHub Actions
  • Let’s Encrypt
  • Linux
  • Trivy

Questions about this package

Q1

Do I have to change hosting?

No. I work on your current VPS — SSH access with admin rights and the ability to install Docker are enough. If the server is very old, I’ll tell you before quoting.

Q2

Will the app go down during the changes?

I prepare the new setup next to the current one and switch traffic only after checking everything works. A short pause during the switch is possible — we agree on the time in advance.

Q3

What about the database?

Within the package the database stays where it is — I don’t move data, I only set up a secure connection from the containerised app. Database migration is quoted separately, because it always needs its own plan and a backup.

Let’s talk about your project

Briefly describe what you have today and what you want to achieve. I reply within 1 business day and send a quote within 48 hours.

Ask about this package

Other packages