[MORSALIN]
Service 13.4Updated September 2026

Containerize a Legacy App (Old PHP, Python or Node) with Docker

I package an older app, without rewriting it, into Docker containers so it runs the same way on any server, deploys repeatably and can be moved or upgraded later. I find the hidden state old apps keep, such as local uploads, cron jobs and config files. From $650 ($500 founding), about 1–3 weeks.

See a sample report, proposal and weekly update
Price
from $650
Founding
from $500
Timeline
~1–2 weeks
Format
Fixed scope, fixed price
Hours
US Eastern Time, async
01Fit

Who this is for.

A good fit if

  • Businesses with an old app that only runs on one fragile server
  • Teams that need to move an old app to new hosting without touching its code
  • Agencies inheriting client apps with no setup instructions

Common triggers

  • The server is on an end-of-life OS and the app can’t be upgraded yet
  • Nobody knows how to set the app up from scratch
  • A planned move to new hosting or a Legacy PHP → Laravel migration

Not a fit if

  • The app is modern and well structured (use Dockerize Your App instead, it costs less)
  • You expect containers to make an unsupported runtime secure (they isolate it; they don’t patch it)
  • The app needs Windows or licensed binaries that can’t run in Linux containers
02Scope

What I do, and what you get.

What I do

  • Inventory the running server: runtime, extensions, config, cron, workers, file paths, outgoing mail and connections
  • Move hidden state out of the container: uploads to volumes or object storage, sessions and cache to a service, config to environment variables
  • Write the Dockerfiles and a Compose file for the app, database and workers
  • Run the app in containers on staging and compare it with the old server
  • Deploy to your server with a rollback plan
  • Write down what’s still unsupported and how to upgrade it

What you get

  • Dockerfiles and a Compose file in your repo
  • Environment variable list and a sample .env
  • State inventory: every file path, cron job and service the app depends on
  • Running containers on staging and production
  • Risk note for any end-of-life runtime, with an upgrade path
  • Handover notes and runbook

Your part

  • Access to the current server and repository (or a copy of the code if it’s not in git)
  • Someone to test key flows
  • Approval for new hosting costs and a cutover window

Included

  • Docker images and Compose for app, database and workers
  • State inventory and extraction
  • Putting the code into git if it isn’t
  • Staging run and one production cutover
  • CI build of the image (Standard)

Not included

  • Rewriting or refactoring the app
  • Kubernetes
  • Security patching of an end-of-life runtime
  • Mail server migration
  • Hosting costs
03Plans & price

Fixed prices, agreed before work starts.

Starter
$650
Founding price $500
~1–2 weeks

One app and database, Compose, one server

Standard
$1,170
Founding price $900
2–3 weeks

App, database, workers and cron, CI image build, move to a new server

Build your scope

1 · Plan
2 · After handover (optional)
Your scope
$650
Timeline
~1–2 weeks
Payment
Paid in full before work starts
Earliest start
Oct 5
Not a commitment. I confirm the exact price in a written proposal.

Founding price: 3 of 7 spots left, until Mar 31, 2027 — one-off work, in return for a testimonial. How it works

Prices are in USD, paid by bank transfer against an invoice. Work under $1,000 is paid upfront; larger work is 50% to start and 50% before handover, or monthly milestones. How working together works

Variations

PHP 7.x or 5.x
Built from archived official images, isolated, and marked as unsupported in the risk note.
Python 2, old Python 3 or old Node
The same approach, with a pinned base image and dependencies.
Code not in git
Copied from the server and committed, with secrets moved out of the code into environment variables.
Pre-migration
A common first step before Legacy PHP → Laravel or a hosting move.
04Process

How it runs.

  1. 01

    Describe the app

    Email what the app is and where it runs.

  2. 02

    Quote and invoice

    You get a fixed quote and an invoice.

  3. 03

    Inventory and extract

    I inventory the old server and move hidden state out.

  4. 04

    Build and test

    I build the containers and test them on staging.

  5. 05

    Cut over and hand over

    We cut over in an agreed window and I hand over.

05Proof

Where I have done this before.

06FAQ

Questions buyers ask.

Will you change my code?

Only what’s needed to run in a container: config read from environment variables, and paths for uploads and logs.

Does Docker make my old PHP version safe?

No. It isolates it and makes it easier to move and upgrade later. The risk note says what’s still exposed.

Does my code need to be in git?

I’ll put it there if it isn’t, with secrets removed.

What about downtime?

A short planned window for the final data copy.

Is this the same as Dockerize Your App?

It’s the same tools, plus the detective work old apps need.

07Start

Ask about Containerize a Legacy App.

Tell me what you have and where it hurts. I reply within one US business day with either a fixed quote or the entry step that makes a fixed quote possible.

Helpful to include

  • Language and version
  • Framework (if any)
  • OS and hosting
  • Is the code in git?
  • Database and size
  • Cron jobs or workers you know of
  • Where file uploads are stored
  • Deadline and reason
Reply within one US business day. No calls needed.

Prefer your own email app? Write to [email protected]. Your details stay with me, never on a list. An AI model drafts a private summary of your message for me.

More in Application Modernization