# CHNS Docker Compose Library A public collection of Docker Compose files I use across my homelab and self-hosted infrastructure. Rather than managing configs directly on each server, I keep everything version-controlled here and pull them into [Portainer](https://www.portainer.io/) for deployment. Feel free to use any of these as a starting point for your own setup. Each application folder also has a companion article linked below where I walk through the full configuration and deployment process. --- ## Applications | Application | Description | Walkthrough | |-------------|-------------|-------------| | [Doku](./Doku/docker-compose.yaml) | Docker volume backup and management tool | [Read the article](https://chns.tech/posts/2024/02-18-doku-docker-disk-usage-dashboard/) | | [Draw.io](./Draw.io/docker-compose.yaml) | Self-hosted diagramming and flowchart tool | [Read the article](https://chns.tech/posts/2024/10-20-draw-io-whiteboarding-diagramming-web-application/) | | [Gitea](./Gitea/docker-compose.yaml) | Lightweight self-hosted Git service | [Read the article](#) | | [IT-Tools](./IT-Tools/docker-compose.yaml) | Collection of handy tools for developers and sysadmins | [Read the article](https://chns.tech/posts/2023/10-22-it-tools-handy-tools-for-developers/) | | [Seerr](./Seerr/docker-compose.yaml) / [NFS](./Seerr/docker-compose-nfs.yaml) | Media request management tool for self-hosted media servers | [Read the article](#) | | [Watchtower](./Watchtower/docker-compose.yaml) | Automatically keeps Docker container images up to date | [Read the article](https://chns.tech/posts/2024/07-14-watchtower-automatic-docker-container-updater/) | --- ## Usage Each application lives in its own folder with a `docker-compose.yaml` file. You can use them in a few ways: **Portainer Stack** 1. In Portainer, go to **Stacks → Add Stack** 2. Choose **Repository** and point it at this repo, or use **Web editor** and paste the compose file contents directly 3. Set any required environment variables and deploy **Docker Compose CLI** ```bash cd docker compose up -d ``` > Make sure to review each compose file for environment variables, volume paths, or other values you may need to adjust for your environment before deploying. --- ## Repository Structure ``` Docker-Compose/ ├── Doku/ │ └── docker-compose.yaml ├── Draw.io/ │ └── docker-compose.yaml ├── Gitea/ │ └── docker-compose.yaml ├── IT-Tools/ │ └── docker-compose.yaml ├── Seerr/ │ ├── docker-compose.yaml │ └── docker-compose-nfs.yaml └── Watchtower/ └── docker-compose.yaml ``` --- ## License [MIT](./LICENSE)