Files
Docker-Compose/README.md

61 lines
2.4 KiB
Markdown

# 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/) |
| [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 <AppName>
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
└── Watchtower/
└── docker-compose.yaml
```
---
## License
[MIT](./LICENSE)