# Portainer Stacks My collection of Docker Compose stacks for Portainer. This repo is the single source of truth for all my self-hosted services. ## Folder Structure portainer-stacks/ ├── gitea/ ├── portainer/ ├── pihole/ ├── homeassistant/ ├── homepage/ ├── ... (other services) └── README.md Each folder contains a `docker-compose.yml` (or `.yaml`) file for that service. ## How to Work with This Repo ### 1. Clone the Repository (First Time) On your **Mac** or any server: git clone http://192.168.1.46:3131/kdouglas011/portainer-stacks.git ~/portainer-stacks cd ~/portainer-stacks # 1. Go to the repo folder cd ~/portainer-stacks # 2. Always pull the latest changes first git pull origin main # 3. Make your changes to any docker-compose.yml file # 4. Stage, commit, and push git add . git commit -m "Updated pihole stack - changed ports and password" git push origin main # 5. Deploy / Update Stacks in Portainer Open Portainer → Stacks → Add stack (or edit an existing one) Choose Repository as the build method Fill in: Repository URL: http://192.168.1.46:3131/kdouglas011/portainer-stacks.git Repository reference: refs/heads/main Compose path: pihole/docker-compose.yml (example — use the exact path) (Optional) Enable Automatic updates Click Deploy the stack (or Update the stack) # Tips & Best Practices Always run git pull before editing anything Use clear commit messages Test changes locally with docker compose up -d before pushing Never commit real passwords or secrets — use Portainer’s environment variables instead