Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/IsaiasCarrion/Homelab/llms.txt

Use this file to discover all available pages before exploring further.

Phase 2 of the homelab roadmap expands the Docker VM (docker.home.arpa, 192.168.1.30) from a basic container host into a proper development platform. The foundation services β€” Portainer, Dashy, and Speedtest Tracker β€” are already running. The next layer adds a self-hosted Git server, a relational database, and a caching layer to support real development workloads such as bots, workers, and REST APIs.
All services listed as 🚧 in this page are planned and not yet deployed. They are part of the Phase 2 roadmap and will be added incrementally to the existing Docker VM.

Planned Services

The following services are queued for deployment on the Docker platform as part of Phase 2:
ServiceURLRoleStatus
Giteagit.home.arpaSelf-hosted Git🚧
PostgreSQLβ€”Relational DB🚧
Redisβ€”Cache / queue🚧
CI/CDβ€”Build & deploy🚧

Currently Deployed (Phase 2)

These services are already live on the Docker VM and form the operational base that the planned services will build on:
ServiceURLStatus
Portainerportainer.home.arpaβœ…
Dashydashy.home.arpaβœ…
Speedtest Trackerspeed.home.arpaβœ…

Gitea

Gitea will serve as the homelab’s self-hosted Git server, providing a lightweight alternative to cloud-hosted platforms like GitHub. It will be reachable internally at git.home.arpa, routed through Nginx Proxy Manager (npm.home.arpa, 192.168.1.22) the same way all other internal services are exposed. Gitea’s data volumes β€” repositories, user data, and configuration β€” will be persisted to /mnt/hdd-backup/git/ on the shared HDD storage, which is already mounted on the Docker VM via an NFS share from Proxmox. This ensures repository data survives container restarts and is included in the existing automated backup routine (backup.sh). PostgreSQL will be used as Gitea’s backing database rather than the default SQLite, providing better performance and a shared database instance that other services can also use.

PostgreSQL & Redis

PostgreSQL and Redis will be deployed as shared backing services available to any workload running on the Docker VM. Rather than spinning up a separate database per project, a single PostgreSQL instance will host multiple databases β€” one per service or application β€” keeping resource usage low while enabling a proper relational data layer. Redis will act as a shared cache and message queue. This is particularly useful for Python workers that need lightweight task queuing and for bots that benefit from fast in-memory state storage without round-tripping to a database. Both services will have their data persisted under /mnt/hdd-backup/docker/volumes/ to ensure durability across restarts.

Development Workloads

With Gitea, PostgreSQL, and Redis in place, the Docker VM becomes capable of hosting active development projects alongside the infrastructure services. Planned workloads include:
  • Discord bots β€” event-driven bots backed by PostgreSQL for persistence and Redis for state caching
  • Telegram bots β€” similar architecture, leveraging the same shared database and cache layer
  • Python workers β€” background task processors using Redis as a queue
  • REST APIs β€” lightweight services that expose data from PostgreSQL over HTTP, hosted behind Nginx Proxy Manager
  • n8n β€” self-hosted workflow automation, connecting internal services and external APIs without code
  • Ollama β€” local LLM inference for AI-assisted development workflows, running entirely on-premises
Each workload will be managed as a Docker Compose stack in Portainer, keeping deployments consistent with the rest of the platform.

CI/CD

A formal CI/CD pipeline is planned for Phase 4 of the roadmap as part of the GitOps and automation work. The current thinking is to use Gitea Actions β€” Gitea’s built-in CI system compatible with GitHub Actions syntax β€” to build and deploy workloads directly from the self-hosted Git server.
Gitea Actions can run on self-hosted runners, meaning the Docker VM itself can execute pipelines without relying on any external service. This keeps the entire build and deploy loop inside the homelab.
The eventual goal is a GitOps model where pushing to a repository branch automatically triggers a build, test, and deploy sequence β€” all orchestrated within the homelab infrastructure.

Docker Platform

Explore the existing Docker VM infrastructure that the dev platform builds on.

Future Labs

See what comes after Phase 2 β€” Kubernetes, AI workloads, GitOps, and Authentik.

Build docs developers (and LLMs) love