~10 minutes to your own cloud

Deploy Hoodik on any VPS

Get your own end-to-end encrypted cloud storage running in minutes. All you need is a cheap VPS, a domain, and 10 minutes.

What you'll need

  • A VPS — any provider works (Hetzner, DigitalOcean, Linode, Contabo, etc.). Even the smallest plan is enough — Hoodik idles at around 20 MB of RAM.
  • A domain name — e.g. cloud.yourdomain.com. Needed for HTTPS certificates.
  • SSH access — a terminal to connect to your server.
1

Point your domain to the server

Go to your domain registrar's DNS settings and create an A record pointing to your VPS IP address.

DNS Record
TypeNameValue
Acloudyour-server-ip

DNS propagation can take a few minutes. You can verify with: ping cloud.yourdomain.com

2

Install Docker

SSH into your server and install Docker with one command:

Terminal
curl -fsSL https://get.docker.com | sh
3

Install Caddy (reverse proxy)

Caddy automatically handles HTTPS certificates for you. No manual SSL setup needed.

Install Caddy (Ubuntu/Debian)
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Then configure Caddy to proxy traffic to Hoodik. Replace cloud.yourdomain.com with your actual domain:

/etc/caddy/Caddyfile
cloud.yourdomain.com {
    reverse_proxy localhost:5443 {
        transport http {
            tls_insecure_skip_verify
        }
    }
}
Restart Caddy
sudo systemctl restart caddy

Caddy will automatically obtain and renew a Let's Encrypt certificate for your domain. The tls_insecure_skip_verify is needed because Hoodik uses a self-signed cert internally.

4

Start Hoodik

Run Hoodik with Docker. Replace cloud.yourdomain.com with your domain:

Terminal
docker run --name hoodik -d \
  --restart unless-stopped \
  -e DATA_DIR='/data' \
  -e APP_URL='https://cloud.yourdomain.com' \
  -v /opt/hoodik/data:/data \
  -p 5443:5443 \
  hudik/hoodik:latest

Your data is stored in /opt/hoodik/data. Hoodik uses SQLite by default — no database setup required.

5

Create your account

Open https://cloud.yourdomain.com in your browser and register. The first user automatically becomes the admin.

During registration, a private key will be generated in your browser. This key encrypts all your files.

Store your private key somewhere safe (e.g. a password manager). If you ever forget your password, the private key is the only way to recover your account. Without it, your encrypted data is unrecoverable.

Connect the app

Download the Hoodik app, enter your server URL, and log in. Your files are encrypted on your device before they ever reach the server.

Get it on Google Play

iOS & macOS coming soon

Tips

  • Backups: Your encrypted files and database live in /opt/hoodik/data. Back up this directory regularly.
  • Updates: Pull the latest image and restart — docker pull hudik/hoodik:latest && docker restart hoodik
  • Invite users: As admin, go to the Admin Dashboard to create invitation links for family or team members.
  • Storage: Hoodik idles at around 20 MB of RAM. Your storage limit is just the size of your VPS disk.

Need help or have questions?

GitHub Open an issue on GitHub