3
0
Fork
You've already forked containers
0
Definitions for containers and container stacks
  • YAML 67.9%
  • Go 21.2%
  • Shell 10.1%
  • Dockerfile 0.7%
  • Jinja 0.1%
2026年04月24日 00:04:19 +02:00
.forgejo/workflows re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.private-config re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
ansible/roles re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
containers re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
dagger re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
infra/ansible re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
scripts re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.devcontainer.json re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.editorconfig re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.gitattributes re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.gitignore re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.gitmodules re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
.python-version re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
compose.yml re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
Containerfile re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
inventory.yml re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
README.md Update README.md 2026年04月24日 00:04:19 +02:00
run-task.bash re-init homelab container fleet 2026年04月23日 15:41:56 -06:00
startup.sh re-init homelab container fleet 2026年04月23日 15:41:56 -06:00

infra.sys.container-fleet

Compose stack definitions for self-hosting apps on workstations and servers

A library of 26 compose-based apps for container runtimes like Podman. Deploy self-hosted services quickly.

Structure

containers/apps/ # 26 container apps
├── traefik/ # Reverse proxy (deploy first)
├── komodo/ # Container management
├── adguardhome/
└── ... (26 total)
 ├── moon.yml # App metadata
 ├── compose.yml # Standardized compose
 ├── .env.example # Environment template
 ├── README.md # Terse docs
 └── scripts/ # Symlinks to root scripts
infra/ansible/ # Deployment automation
├── playbooks/
│ ├── deploy-stack.yml # Deploy single app
│ └── deploy-all.yml # Deploy by category
└── roles/
scripts/ # Root-level utilities
├── deploy.sh # Idempotent deployment
├── secrets.sh # Bitwarden Secrets Manager
└── test.sh # Dagger test wrapper
dagger/ # Testing framework

Requirements

Deploying Apps

Warning

All apps route through Traefik for reverse proxy and TLS termination; deploy Traefik first for those features to work.

Single app:

ansible-playbook infra/ansible/playbooks/deploy-stack.yml -e stack_path=traefik

By category:

ansible-playbook infra/ansible/playbooks/deploy-all.yml -e category=infrastructure

CLI Direct

cd containers/apps/traefik
podman-compose -d up

Management UI

Deploy Komodo (replaces Portainer) alongside Traefik for web-based container management.

Container Config

Sensitive configs live outside this repo. Each app's config/ directory syncs to .private-config/ submodule and persists to a private remote.

Sync configs outward (app to submodule):

ansible-playbook infra/ansible/playbooks/backup-private-config.yml

Sync configs inward (submodule to app):

ansible-playbook infra/ansible/playbooks/rehydrate-private-config.yml

Fetch secrets from Bitwarden:

cd containers/apps/traefik && ./scripts/secrets.sh fetch traefik

Testing

Test compose syntax and runtime:

cd dagger && go run main.go -stack traefik

Resources

  1. docs.docker.com: Compose variable interpolation
  2. Awesome-Selfhosted