diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..842ea54 --- /dev/null +++ b/readme.md @@ -0,0 +1,57 @@ +# Portainer Stacks + +My personal collection of Docker Compose stacks for Portainer. +This repository is the **single source of truth** for all my self-hosted services. + +## Folder Structure + +portainer-stacks/ +├── gitea/ +├── portainer/ +├── pihole/ +├── homeassistant/ +├── homepage/ +├── ... (additional services) +└── README.md + +Each service folder contains its own docker-compose.yml (or docker-compose.yaml) file. + +## How to Work with This Repo + +1. Clone the Repository (first time only) + +git clone http://192.168.1.46:3131/kdouglas011/portainer-stacks.git ~/portainer-stacks +cd ~/portainer-stacks + +2. Daily Workflow (pull → edit → push) +Always start here +cd ~/portainer-stacks +git pull origin main +3. Make your changes to any docker-compose.yml file +Stage, commit, and push +git add . +git commit -m "Updated pihole stack - changed ports and password" +git push origin main + +4. Deploy / Update the Stack in Portainer + +- Open Portainer → Stacks +- Click Add stack (or edit an existing one) +- Choose Repository as the build method +- Fill in the following: +| Field | Value | +|------------------------|--------------------------------------------| +| Repository URL | http://192.168.1.46:3131/kdouglas011/portainer-stacks.git | +| Repository reference | refs/heads/main | +| Compose path | pihole/docker-compose.yml (use exact relative path) | +- (Optional) Enable Automatic updates +- Click Deploy the stack (or Update the stack) + +## Tips & Best Practices + +- Always run git pull origin main before editing anything. +- Use clear, descriptive commit messages. +- Test changes locally first: +docker compose up -d +- Never commit real passwords or secrets. Use Portainer environment variables instead (highly recommended for security). +- Keep stacks modular — one service per folder keeps everything clean and easy to maintain. \ No newline at end of file