docker · Sep 29, 2026
How to run several self-hosted apps on one server safely
A plain-English guide to running multiple Docker apps on one server without port conflicts, broken HTTPS, messy data, or one app taking everything down.
Server Manager blog
Guides and stories about running your own server — without living in the terminal.
docker · Sep 29, 2026
A plain-English guide to running multiple Docker apps on one server without port conflicts, broken HTTPS, messy data, or one app taking everything down.
A plain-English guide to the self-hosted apps that are worth your time in 2026, and the safest order to try them.
A plain-English look at what you can safely self-host with email, where delivery gets painful, and what to avoid.
A plain-English guide to what Mattermost needs, what can break, and how to keep your self-hosted team chat understandable over time.
A plain-English guide to what self-hosting Supabase means, what you need, and where the sharp edges are before you use it for an app backend.
A plain-English guide to moving a Docker Compose app to a new server without losing data, breaking domains, or forgetting how it was wired together.
A plain-English guide to what it takes to self-host Plausible Analytics, what can break, and how to keep the setup understandable over time.
A plain-English migration path from Fly.io to your own server, with the risks, order of work, and downtime traps made clear.
A plain-English migration plan for moving your server to another provider without losing files, domains, HTTPS, or your sanity.
Move a Netlify site to your own server without losing domains, HTTPS, redirects, or the parts Netlify was quietly handling for you.
A plain-English migration plan for moving from shared hosting to your own server with less downtime, fewer surprises, and a cleaner setup.
A plain-English guide to moving a Postgres or MySQL database to your own server without losing data, breaking your app, or making the setup impossible to understand later.
Use an SSH tunnel to access a private service without exposing that service to the public internet.
A plain-English way to confirm your HTTPS certificate works for real visitors, not just on your own machine.
A plain-English first-response plan for containing a hacked server, preserving what matters, and getting back online safely.
A plain-English guide to seeing what is running on your server, what is using CPU or memory, and what to do when something looks suspicious.
Self-hosting can be safe if you understand the main risks: exposed services, weak updates, broken HTTPS, missing backups, and forgotten setup details.
A plain-English guide to finding open Linux ports, deciding what should stay reachable, and closing the rest safely.
A plain-English guide to choosing scp, sftp, or rsync when moving files from your computer to your server.
A plain-English guide to spotting hacked-server warning signs, checking safely, and getting back to a setup you can trust.
A plain-English guide to why Linux kills apps when memory runs out, how to recognize OOM events, and how to prevent them.
A plain-English path for finding where a newly deployed site stops: domain, server, firewall, web server, app, or HTTPS.
A plain-English guide to what a Caddyfile is, what it controls, and how to write one without turning your web server into a mystery box.
A plain-English guide to finding what filled your Linux server, clearing safe space, and preventing the error from coming back.
A plain-English guide to patching Ubuntu Server with backups, small steps, and checks that keep your sites and apps online.
A plain-English guide to reading Linux server logs so you can trace errors to the real cause instead of guessing.
A plain-English guide to Docker restart loops, the common causes, and how to get a container stable again.
A plain-English guide to what EADDRINUSE means, why ports clash, and how to fix the problem without breaking another app on your server.
Self-hosting means running your own apps on a server you control, with more ownership and more responsibility than using a hosted service.
A plain-English guide to creating a safer sudo user, avoiding root login mistakes, and keeping server access understandable over time.
A plain-English guide to checking why your domain is not pointing to your server, from nameservers and A records to www, IPv6, and HTTPS confusion.
A plain-English guide to fixing SSL certificate expired and untrusted certificate errors without guessing.
A plain-English checklist for fixing the SSH error "Permission denied (publickey)" without locking yourself out again.
A plain-English comparison of DigitalOcean App Platform and a DigitalOcean Droplet for small web apps, costs, control, maintenance, and long-term clarity.
A plain-English guide to Docker images and containers, with the practical difference that matters when you deploy apps on a server.
A plain-English comparison of Hetzner, DigitalOcean, and Contabo for beginners choosing their first server provider.
A plain-English comparison of Cloudron, Coolify, and a raw server so you can choose the right self-hosting path without creating a maintenance mess.
A plain-English guide to when Docker helps your app deployment, when it adds needless weight, and how to choose the calmer path.
A plain-English path from empty server to live website, with domains, web servers, HTTPS, safety, and upkeep explained.
A plain-English guide to choosing between a managed database and self-hosted Postgres, with the tradeoffs that matter for small teams and solo projects.
A plain-English guide to when Coolify helps, when a plain server is enough, and how to avoid adding complexity too early.
Ports are numbered doors into your server, and a web server usually needs only a few of them open to serve websites safely.
A plain-English comparison of Caddy, nginx, and Traefik so you can choose the right reverse proxy without making your server hard to manage later.
A plain-English deployment checklist for taking a vibe-coded app from a working demo to something real users can safely use.
Docker can help deploy an AI-built app, but it is not always the simplest or safest first step.
Learn why apps stop when an SSH session closes, and which safer options keep them running on your server.
Self-host Uptime Kuma when you want simple uptime alerts for your websites, domains, certificates, and services without handing that job to a third party.
A plain-English guide to connecting an AI-built app to a custom domain and serving it safely over HTTPS.
A plain-English guide to what you need, what can break, and how to keep a self-hosted Ghost blog understandable over time.
A plain-English guide to the common reasons an AI app succeeds in preview but fails after deployment, from missing secrets to domain, timeout, and storage differences.
A plain-English guide to how containers and virtual machines differ, when each makes sense, and what that means for your server.
A plain-English guide to self-hosting n8n, what it needs, and the common problems to avoid before your automations depend on it.
A plain-English guide to where an AI app backend lives, what it does, and how to choose a hosting setup that will not become a mystery later.
A plain-English guide to installing the right app runtime on a fresh server without creating version conflicts or mystery errors.
A plain-English guide to self-hosting Jellyfin, including server size, storage, streaming issues, remote access, and how to keep the setup understandable over time.
AI can safely help with server commands only when its access is limited, visible, and backed by a way to recover from mistakes.
A plain-English guide to self-hosting Paperless-ngx, what it needs, and how to keep your document archive safe and understandable.
A plain-English migration plan for moving a live website to a new server without visitors seeing a broken page.
A plain-English guide to self-hosting Immich, including storage, backups, HTTPS, and the mistakes that make photo libraries painful later.
A plain-English guide to why an open port can still be unreachable when both your cloud firewall and server firewall are involved.
A plain-English guide to moving WordPress to a new server without losing files, breaking links, or surprising visitors.
Automatic security updates on Ubuntu help patch known risks without turning server maintenance into a daily chore.
A plain-English guide to moving an app from Render to your own server without losing track of domains, HTTPS, databases, or deployments.
A plain-English guide to why SSH keys are safer than passwords, what can go wrong, and how to keep server access understandable over time.
A plain-English guide to making SSH safer without locking yourself out of your own server.
A plain-English guide to moving a Railway app to your own server without breaking domains, databases, HTTPS, or your deployment notes.
A plain-English guide to using fail2ban to block repeated login attempts before they become a real problem.
A plain-English guide to what a server firewall does, what it cannot do, and why it should be one of your first security steps.
A plain-English first-hour checklist for making a new server safer, clearer, and easier to recover before you deploy anything important.
A plain-English migration guide for moving a Vercel app to your own server without losing domains, HTTPS, environment variables, or deploy sanity.
A plain-English guide to moving a Heroku app to your own server without losing data, breaking domains, or making the setup impossible to understand later.
A plain-English launch checklist for securing a server before real users, traffic, and data arrive.
A plain-English guide to why an app works locally not in production, and how to find the missing assumption.
A plain-English guide to DNS, domain pointing, common DNS records, and why changes sometimes take time to appear.
A plain-English guide to what the "Connection refused" error means, where it usually comes from, and how to narrow it down without guessing.
A plain-English guide to what nginx 502 Bad Gateway means, why it happens, and how to narrow the fix without guessing.
A plain-English comparison of Render, Railway, and running your own server, with the trade-offs that matter after launch.
A plain-English explanation of Docker, containers, images, and when they help on a server.
A plain-English way to decide whether Heroku's convenience is still worth it, or whether your own server now fits better.
A plain-English guide to what a virtual private server is, when it makes sense, and when simpler hosting is enough.
Compare Railway with your own server in plain English: what you pay for, what you control, and where the hidden work lives.
A plain-English guide to choosing between Vercel and your own server for a Next.js app, based on control, cost, maintenance, and failure modes.
A plain-English comparison of Coolify, Dokploy, and CapRover so you can choose the right self-hosted PaaS for your server.
A plain-English guide to SSL certificates, HTTPS, browser warnings, and the problems a good certificate setup prevents.
A plain-English guide to moving your AI-built app from temporary storage to PostgreSQL or MySQL without losing data, secrets, or your future sanity.
A plain-English guide to SSH: what it is, how it protects remote server access, and what beginners should watch for.
AI can help you build an app quickly, but hosting still means making it reachable, safe, and understandable after the code is generated.
A plain-English migration guide for moving a Replit app to your own server without losing track of domains, environment variables, HTTPS, or restarts.
A plain-English first SSH login guide: what you need, what to type, and what the common connection errors mean.
A plain-English guide to taking a Cursor-built app from localhost to a real production server without losing track of domains, HTTPS, databases, and runtime settings.
You can deploy a v0 app without Vercel, but you need to understand what v0 generated, what runs the app, and which hosting chores Vercel was quietly handling for you.
A reverse proxy is the front door that receives web traffic and sends it to the right app behind the scenes.
A plain-English guide to moving a Lovable app from static hosting to your own server when you need APIs, databases, HTTPS, and long-term control.
A plain-English guide to taking a Bolt.new app from generated code to a stable website on your own server.
Learn how scheduled tasks work on a server for backups, scripts, reminders, and recurring app jobs without turning your weekend into operations work.
SSH key login replaces easy-to-guess server passwords with a paired lock-and-key system that is safer and easier to live with once you understand it.
Learn what it really takes to self-host Jellyfin, from storage and streaming limits to privacy, security, and keeping the setup understandable over time.
Send website or app emails from your server safely by handing delivery to an external email provider instead of hosting mail yourself.
Learn which server updates are safe to automate, which ones deserve a slower look, and how to reduce security risk without turning maintenance into a gamble.
Learn what server logs are, where errors usually appear, and how to use them to narrow down website or app problems without guessing.
Coolify and Dokploy make deploying your app on your own server feel like Heroku. But they run on top of a server that someone still has to secure, update, and keep alive. Here's an honest map of where they end and the sysadmin part begins.
A plain-English guide to Docker on your server: what it does, when it helps, and when it just adds another layer to manage.
Learn the common reasons a server feels slow, how to tell them apart, and what each one usually means.
Run several sites or apps on one server by giving each project its own domain, route, HTTPS certificate, and tidy boundaries.
Choose the right server size for a website, app, or self-hosted service without paying for power you do not need.
Most people either have no backups or have never tested the ones they have. A backup you can't restore from isn't a backup. Here's what to save, where to keep it, and how to know it actually works.
Your app runs fine on your laptop — the hard part is the gap between "works on my machine" and "live on the internet." Here's what deploying actually involves, the four things every app needs, and how to skip the tooling.
Shared hosting got you started, but the renewal price, resource limits, and noisy neighbors add up. Moving to your own server sounds like a leap — it's really a short checklist. Here's what moves, in what order, without downtime.
Your files live in someone else's cloud — paid for monthly, capped, and quietly scanned. Nextcloud is a self-hosted Dropbox or Drive you run yourself. Here's what it is, why it's worth owning, and what it takes to set up.
A brand-new server is reachable by the entire internet within minutes — bots included. A firewall decides which doors stay open. Here's what it does, the one rule that keeps you safe, and the mistake that locks you out.
The padlock in the address bar isn't a luxury anymore — it's free, automatic, and expected. Here's what HTTPS actually does, why it stopped costing money, and how it gets set up without you ever managing a certificate.
You rented a server and got an IP address, a password, and a blinking cursor. Here's what a server actually is, the four things every new one needs, and how to get going without learning to be a sysadmin.
Managed hosting is easy, but you pay for it and give up control. A VPS is cheaper and fully yours, but you're the sysadmin. Here's an honest comparison — and a third option that splits the difference.
You have a server with an IP address and a domain you bought somewhere else. Connecting them is one small DNS change — here's what it means, the single record you need, and how the padlock follows.
Your passwords currently live on someone else's server. Vaultwarden is a lightweight, Bitwarden-compatible password manager you run yourself — here's what it is, why it's worth owning, and what it takes to set up.
You deployed your site, it works for you, but visitors get a spinning tab or "can't be reached." The problem is always one of three layers between a browser and your server — here's how to tell which.
You rented a server to run your own WordPress — then hit a wall of SSH, web servers, and DNS. Here's the shortcut: describe what you want in plain English and let the app do the sysadmin work.