How to Host Self-Hosted Tools
Choosing where and how to run your stack matters as much as which tools you pick. This guide covers hosting types, deployment options, and the operational basics you need to get right.
Hosting types
Each model involves a different trade-off between control, cost, and maintenance burden.
A virtual machine you manage yourself. The default for Docker-based self-hosted apps.
- Cheap and powerful
- Full control over the stack
- You handle security, backups, updates, and 11pm emergencies
A VPS with a control panel layer for server management, SSL, backups, and staging.
- Easier backups, SSL, staging, and support
- More expensive, less flexible for modern Docker apps
Git-based deployment with managed scaling, logs, and environment variables.
- Easy deployment, scaling, and logs
- Costs can creep; persistent storage and databases need attention
Pre-built HTML, CSS, and JS served from a CDN. No server to manage.
- Fast, secure, cheap, low maintenance
- Forms, search, auth, and admin need external services
App management tools
This layer sits between your server and your apps. Getting it right makes updates, rollbacks, and new installs much less painful.
Before you deploy
Check these before committing to an app. Many self-hosting regrets come from skipping this step.
Database requirements
A simple site needs nothing. A CRM might need Postgres, Redis, file uploads, background jobs, and scheduled tasks. An email platform adds queue workers, bounce handling, and large table management. Know before you provision.
Project health
Self-hosting ties you to the project's maintenance cycle. A tool with no recent commits or a complex upgrade path becomes a liability.
Backups
A snapshot from your host is not a backup. You need off-server copies, a retention policy, and a restore you have actually tested.
What to back up
Good defaults
Tools: Restic, Borg, Duplicati. Storage: Cloudflare R2, Backblaze B2, AWS S3.
Security
The basics are not glamorous, but skipping them is how things go wrong. Treat security as part of the product, not an afterthought.
Cloudflare is a good layer in front of self-hosted sites. DNS, SSL, caching, firewall rules, and bot protection in one place.
Monitoring
At minimum: uptime alerts and disk space alerts. Disk filling up silently is one of the classic self-hosting disasters.
Email sending
Self-hosted email marketing is not just install the app and send newsletters. Deliverability is a separate problem from the software.
The standard model is a self-hosted app for list management, campaigns, and automations, combined with an external SMTP provider for actual sending.
Before sending, set up SPF, DKIM, and DMARC records. Use a subdomain for sending (mail.example.com). Warm up gradually. Handle bounces and complaints.