Skip to content

daedalus410/homelab-cloud-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homelab Cloud Stack (VM1 + VM2) — Docker + Caddy

A repeatable, production-lean homelab stack deployed across two cloud VMs using Docker Compose and Caddy (reverse proxy + automatic HTTPS).

This repo is written as a copy/paste friendly tutorial:

  • build cloud infra
  • configure DNS + TLS
  • bootstrap VMs
  • deploy VM1 + VM2 stacks
  • operate, upgrade, and back up the services

What you get

VM1

  • Memos (notes / knowledge capture)
  • Linkding (bookmark manager)
  • Caddy reverse proxy (HTTPS + routing)

VM2

  • Paperless-ngx (document management)
  • Vaultwarden (Bitwarden-compatible password manager)
  • Postgres (Paperless DB)
  • Redis (Paperless broker/cache)
  • Caddy reverse proxy (HTTPS + routing)
  • Backups sidecar + Postgres pg_dump job

Repository layout

homelab-cloud-stack/ ├─ README.md ├─ .gitignore ├─ docs/ │ ├─ 00-overview.md │ ├─ 01-architecture.md │ ├─ 02-prereqs.md │ ├─ 03-dns-and-domains.md │ ├─ 04-bootstrap.md │ ├─ 05-vm1-stack.md │ ├─ 06-vm2-stack.md │ ├─ 07-operations.md │ ├─ 08-troubleshooting.md │ └─ 09-backups.md ├─ scripts/ ├─ vm1/ │ ├─ stack/ │ │ ├─ docker-compose.yml │ │ └─ .env.example │ └─ caddy/ │ └─ Caddyfile └─ vm2/ ├─ stack/ │ ├─ docker-compose.yml │ └─ .env.example └─ caddy/ └─ Caddyfile


How to use this repo

Follow the docs in order:

  1. docs/00-overview.md
  2. docs/01-architecture.md
  3. docs/02-prereqs.md
  4. docs/03-dns-and-domains.md
  5. docs/04-bootstrap.md
  6. docs/05-vm1-stack.md
  7. docs/06-vm2-stack.md
  8. docs/07-operations.md
  9. docs/09-backups.md
  10. docs/08-troubleshooting.md

Prereqs (high level)

  • Two Linux VMs (Ubuntu recommended)
  • A DNS provider where you can manage A/AAAA records
  • Public inbound ports open:
    • 80/tcp and 443/tcp to each VM serving HTTPS
  • Docker + Docker Compose plugin installed on both VMs

Full prereqs are in docs/02-prereqs.md.


Security notes

  • This repo intentionally does not include secrets.
  • Copy .env.example.env on each VM and fill your values.
  • Keep signups closed and use invite flow for Vaultwarden unless you explicitly want open registration.
  • Treat backups as a first-class requirement (the docs include a backup + restore flow).

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages