Self-host Install

AliasVault can be self-hosted on your own servers using two different installation methods. Both use Docker, but they differ in how much is automated versus how much you manage yourself.

Which Installation Method to Choose?

🚀 Option 1: Install Script

The installer script is a fully managed solution that handles everything for you. Simply run it on a clean VM/LXC with Docker installed, and it will set up all required containers, configure SSL certificates and provide CLI helpers for easy updates and maintenance.

🛠️ Option 2: Docker Compose

If you prefer manual setup and have existing SSL infrastructure, use the all-in-one Docker image via Docker Compose. It works with your existing SSL proxy (Traefik, HAProxy, Caddy, etc.) and gives you full control over the configuration. Note: because this install method does not include a CLI, future updates may require some manual migrations.

  Option 1: Install Script (multi-container) Option 2: Docker Compose (single container)
Best for ☁️ VPS/VM/Proxmox, cloud hosts, DigitalOcean, AWS/Azure 🏠 NAS/Synology/Unraid, Raspberry Pi, home servers
Internet accessible Direct internet access with ports 80/443 Behind existing infrastructure
TLS/SSL Built-in reverse proxy + Let’s Encrypt (automatic) Bring your own (Traefik, Nginx, HAProxy, Caddy)
Containers Multiple containers (client, api, postgres, task runner, smtp, admin, reverse proxy) Single bundled container (all-in-one)
Configuration Automatic docker-compose.yml setup Standard Docker commands
Updates install.sh assisted updates & migrations docker pull (manual); occasional manual migrations
Admin actions install.sh helpers for admin password reset SSH into container for certain tasks (e.g. password reset)
Setup style Managed, opinionated, production-ready defaults Fits into existing homelab/stack tools (Portainer compatible)
Build from source Supported Pre-built container only
Choose if… You want auto SSL and a managed stack You already have TLS and prefer manual control
  Self-host via Install Script → Self-host via Docker →

Quick Decision Guide

Go with the Install Script if:

  • ✅ You have a fresh VM or VPS dedicated to AliasVault
  • ✅ You want automatic SSL setup without hassle
  • ✅ You prefer managed updates and maintenance
  • ✅ You’re new to Docker or want the simplest setup

Go with Docker Compose if:

  • ✅ You’re already running other Docker containers on this host
  • ✅ You have existing SSL infrastructure (reverse proxy)
  • ✅ You want to integrate with your homelab tools (Portainer, etc.)
  • ✅ You prefer manual control over the configuration

Frequently Asked Questions

What's the difference between multi-container and single container?
Multi-container (Installer Script) Single container (Manual Setup)
Separates services into individual containers All services bundled in one container
Easier to scale individual components Simpler to manage with Docker commands
Uses docker-compose for orchestration Lower resource overhead
Better for production deployments Better for home labs and personal use
Do I need to handle SSL/TLS certificates myself?
  • Installer Script: No, it includes automatic Let’s Encrypt certificates
  • Manual Setup: Yes, you need your own reverse proxy for HTTPS
How do updates work?
Method Update Process
Installer Script Run ./install.sh update for automated updates and migrations
Manual Setup Use docker pull to get the latest image; manual migrations may be required
Can I migrate between installation methods?

Yes! Both methods use the same bind mount directories (/database, /certificates, /logs, /secrets), making migration straightforward. Simply stop/uninstall via one method and follow the installation steps for the other - your data will be preserved.

What are the system requirements?

Minimum requirements:

  • 64-bit Linux OS (Ubuntu or RHEL-based recommended)
  • 1 vCPU, 1GB RAM, 16GB disk
  • Docker CE (≥ 20.10) and Docker Compose (≥ 2.0)

Network requirements:

  • Ports 80 and 443 available
  • Optional: Ports 25 and 587 for private email domains
Can I build from source?
  • Installer Script: Yes, optional build from source is supported
  • Manual Setup: No, uses pre-built container images only

Table of contents