Skip to content

πŸ–₯️ Self-Hosting Overview ​

KitchenAsty is designed to be self-hosted on your own server or cloud instance. This guide walks you through everything you need to go from a blank server to a fully running restaurant ordering platform with HTTPS, backups, and monitoring.

🎯 What You Will Set Up ​

By the end of this guide, you will have:

  • πŸš€ A production server running KitchenAsty (API, Admin Dashboard, Storefront)
  • πŸ—„οΈ PostgreSQL database with automatic backups
  • πŸ”’ HTTPS with free SSL certificates from Let's Encrypt
  • πŸ”€ A reverse proxy routing traffic to each service
  • πŸ›‘οΈ Firewall rules protecting your server
  • ♻️ Automatic container restarts on failure
  • πŸ“¦ A process for updating to new versions

πŸ—οΈ Architecture Overview ​

                    Internet
                       β”‚
                       β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚   Your Domain  β”‚
              β”‚  (Cloudflare   β”‚
              β”‚   or direct)   β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
                      β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚ Reverse Proxy  β”‚
              β”‚ (Caddy/Nginx)  β”‚
              β”‚   + SSL/TLS    β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚             β”‚              β”‚
        β–Ό             β–Ό              β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚  Admin   β”‚  β”‚Storefrontβ”‚  β”‚   API    β”‚
   β”‚  :5173   β”‚  β”‚  :5174   β”‚  β”‚  :3000   β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                                    β–Ό
                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                             β”‚PostgreSQLβ”‚
                             β”‚  :5432   β”‚
                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

☁️ Hosting Options ​

You can host KitchenAsty on any Linux server. Here are some popular choices:

ProviderSmallest PlanApproximate CostNotes
HetznerCX22 (2 vCPU, 4 GB)~$5/monthπŸ’Ž Excellent value, EU and US locations
DigitalOceanBasic Droplet (1 vCPU, 2 GB)$6/monthπŸ“– Simple interface, good docs
Linode (Akamai)Nanode (1 vCPU, 2 GB)$5/month⚑ Solid performance
VultrCloud Compute (1 vCPU, 2 GB)$6/month🌍 Global locations
AWS Lightsail2 GB instance$10/month☁️ AWS ecosystem
Home server / Raspberry Pi 5β€”Electricity cost🏠 Needs port forwarding and dynamic DNS

πŸ’‘ Recommendation

For a single-location restaurant, a 2 GB RAM / 1 vCPU server is sufficient. If you expect heavy traffic or run multiple locations, choose 4 GB RAM / 2 vCPU or higher.

🌐 Domain Names ​

You will need a domain name (e.g., yourdomain.com). We recommend setting up three subdomains:

SubdomainPurpose
πŸ”§ admin.yourdomain.comAdmin Dashboard (staff-only)
πŸ›’ order.yourdomain.comCustomer Storefront
πŸ”Œ api.yourdomain.comAPI Server (optional β€” can be proxied via /api/ paths)

You can purchase a domain from any registrar (Namecheap, Cloudflare Registrar, Google Domains, GoDaddy, etc.).

πŸ“– Guide Structure ​

Follow these pages in order:

  1. πŸ–₯️ Server Setup β€” Provision a server, install Docker, and configure the firewall
  2. 🐳 Docker Compose Production β€” Configure and launch all KitchenAsty services
  3. 🌐 Domain & DNS β€” Point your domain to the server
  4. πŸ”’ Reverse Proxy & SSL β€” Set up Caddy or Nginx with automatic HTTPS
  5. πŸ’Ύ Backups β€” Automate database and file backups
  6. πŸ”§ Maintenance β€” Updates, monitoring, and troubleshooting