Guides
Guides
Last revised: July 25, 2026
Practical tutorials and best practices from the VPS1 engineering team. Each guide reflects real-world experience deploying and maintaining self-hosted software for small businesses.
Getting Started with Self-Hosting
What is self-hosting and why should you care? Self-hosting means running software on infrastructure you control , your own server, a VPS, or on-premises hardware. Unlike SaaS, you own your data outright, pay no per-user fees, and avoid vendor lock-in. For a small business, self-hosting an ERP, CRM, or file sync platform can save thousands annually while giving you complete data sovereignty.
Choosing between on-premises and cloud VPS. On-premises gives you physical control and zero recurring cloud costs , ideal if you already have server hardware. A cloud VPS (Hetzner, DigitalOcean, Linode) offers easier scaling and no hardware maintenance. Most VPS1 clients start with a cloud VPS, then transition to on-premises or hybrid as their needs grow.
A beginner guide to Docker and containers. Containers package software with all its dependencies so it runs identically everywhere. Docker is the most popular container runtime. You define your stack in a docker-compose.yml file and launch everything with one command. Containers also isolate applications from each other, improving security. VPS1 handles the Docker setup so you do not need to learn it, but understanding the concept helps you see why deployments are so reliable.
Understanding backups: the 3-2-1 rule. Keep 3 copies of your data, on 2 different media types, with 1 copy off-site. For example: your live database, a nightly backup on the same server, and an encrypted off-site backup. VPS1 automates this with daily encrypted backups and routine manual recovery testing , because a backup you have not tested is not a backup.
Application Guides
How to self-host Nextcloud in under an hour. Nextcloud is the leading open-source alternative to Google Workspace and Microsoft 365. With Docker, you can deploy it with a single compose file including the database, Redis cache, and SSL certificate. After initial setup, configure external storage, enable two-factor authentication, install the desktop and mobile sync clients, and migrate your files. VPS1 handles the full deployment and migration so your team logs in Monday morning with zero disruption.
Deploying n8n for business workflow automation. n8n is a node-based automation platform that connects your apps, APIs, and databases. Unlike Zapier or Make, it runs on your server , your data never leaves your infrastructure. Common automations: sync leads from your website to your CRM, auto-generate invoices from time tracking, send Slack alerts when a server metric crosses a threshold. n8n supports hundreds of integrations and custom JavaScript nodes for advanced logic.
Setting up a self-hosted CRM with EspoCRM. EspoCRM is lightweight, fast, and ideal for small to mid-sized teams. It covers contacts, leads, opportunities, email integration, and calendar sync. Deploy via Docker, configure SMTP for outbound emails, set up role-based access for your team, and import existing contacts from CSV. No per-user pricing , you pay once for the server and VPS1 manages the rest.
Building an internal wiki with BookStack. BookStack organizes documentation into Shelves > Books > Chapters > Pages. It is perfect for standard operating procedures, onboarding guides, and team knowledge bases. Features include a WYSIWYG editor, full-text search, revision history, and role-based permissions. Deploy via Docker, set up LDAP or SAML for single sign-on, and structure your first shelf in under 30 minutes.
Security and Hardening
Firewall configuration for self-hosted servers. A properly configured firewall is your first line of defense. Use UFW on Ubuntu , deny all incoming traffic by default, then allow only the specific ports your applications need (22 for SSH, 443 for HTTPS, 80 for HTTP redirect). Never expose database ports, Docker APIs, or admin panels to the public internet. VPS1 hardens every server with a strict whitelist approach during initial setup.
SSL certificates with Nginx Proxy Manager. Every web-facing service needs HTTPS. Nginx Proxy Manager gives you a simple web UI to manage reverse proxy entries and auto-renew SSL certificates via Let’s Encrypt. Point your domain, request a certificate, and enable force-SSL , done. No manual certbot commands needed.
Setting up WireGuard VPN for secure remote access. WireGuard is a modern, high-performance VPN protocol. Instead of exposing admin panels or databases to the internet, connect to your server via WireGuard and access everything over an encrypted tunnel. It is faster and simpler than OpenVPN, with clients available for every platform. VPS1 configures this as standard on every deployment so your administrative interfaces stay private.
Intrusion detection with CrowdSec. CrowdSec analyzes logs in real time to detect and block malicious behavior , brute-force attacks, port scans, exploit attempts. It participates in a global reputation network, so an attacker flagged anywhere is blocked everywhere. Unlike traditional fail2ban, it is collaborative and intelligent. VPS1 deploys CrowdSec on every managed server.
Operations
Monitoring uptime with Uptime Kuma. Uptime Kuma is a self-hosted status page and monitoring tool. It pings your services every 60 seconds, sends alerts via Telegram, email, or Discord when something goes down, and shows a public or private status page. Set up monitors for every application you run, configure notification thresholds, and sleep easy knowing you will be alerted before your users notice an outage.
Automated backup strategies for PostgreSQL and MySQL. Use pg_dump for PostgreSQL and mysqldump for MySQL with a cron job that runs daily. Compress the output, encrypt it with GPG, and push it to an off-site location (S3, Backblaze B2, or another server). Keep 7 daily, 4 weekly, and 3 monthly snapshots. VPS1 automates this entire pipeline and tests recovery monthly.
Database performance tuning essentials. Start with query logging to find slow queries, then add indexes on frequently filtered columns. Tune shared_buffers (PostgreSQL) or innodb_buffer_pool_size (MySQL) to use 25% of available RAM. Schedule regular VACUUM or OPTIMIZE TABLE runs. For heavy-read applications, add connection pooling with PgBouncer or ProxySQL. Performance tuning is iterative , measure, tweak, measure again.
Disaster recovery planning for small businesses. A disaster recovery plan answers two questions: what is the worst that can happen, and how fast can we recover? List every service you depend on, its Recovery Time Objective (RTO), and Recovery Point Objective (RPO). Document the restore procedure step by step. Test it quarterly. VPS1 includes DR planning and annual recovery testing in every Business and Enterprise plan.

Ready to take control of your infrastructure?
Get a free consultation with a VPS1 specialist. We’ll map out your self-hosting journey. No obligation, no vendor lock-in.