Compare commits
19 Commits
bac5094350
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 5056545d93 | |||
| 5cd54e81d2 | |||
| c26ebcdb75 | |||
| 017a74fdda | |||
| b781825fb8 | |||
| 6acacdce95 | |||
| a1c6d800c4 | |||
| 835dd43b1c | |||
| be3dd56408 | |||
| 9103fae334 | |||
| 991a7ff99c | |||
| 3ba96a0824 | |||
| 030a997a15 | |||
| 85d00419da | |||
| acb463c701 | |||
| ef53d2f4a1 | |||
| d42222ded0 | |||
| 0b85e9da80 | |||
| 02b39d78ea |
Binary file not shown.
Binary file not shown.
@@ -8,7 +8,7 @@
|
|||||||
widget:
|
widget:
|
||||||
type: pihole
|
type: pihole
|
||||||
url: http://192.168.1.155:8080
|
url: http://192.168.1.155:8080
|
||||||
key: yL4lBDboHC5FVPAZTBSW8IZvoxEQA0ObAAVyzrcll04=
|
key: sefsKK9vPYS/KyagpUctdM78j7udNNuFm//2br81w+M=
|
||||||
version: 6
|
version: 6
|
||||||
|
|
||||||
- Home Automation:
|
- Home Automation:
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
version: "3.8" # Modern version (original was 3.6, safe to bump)
|
|
||||||
|
|
||||||
services:
|
|
||||||
pihole:
|
|
||||||
container_name: pihole
|
|
||||||
image: pihole/pihole:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
hostname: pihole # Cleaner than the random container ID
|
|
||||||
environment:
|
|
||||||
TZ: America/New_York # Proper IANA format (was "New York")
|
|
||||||
FTLCONF_webserver_api_password: "~Guards1345"
|
|
||||||
FTLCONF_dns_listeningMode: ALL
|
|
||||||
FTL_CMD: no-daemon
|
|
||||||
DNSMASQ_USER: pihole
|
|
||||||
ports:
|
|
||||||
- "53:53/tcp"
|
|
||||||
- "53:53/udp"
|
|
||||||
- "8080:80/tcp" # HTTP admin
|
|
||||||
- "8443:443/tcp" # HTTPS admin
|
|
||||||
volumes:
|
|
||||||
- "/data/compose/5/etc-pihole:/etc/pihole:rw" # Keep this — confirmed by inspect
|
|
||||||
# Add this second volume if you have custom dnsmasq configs (very common for Pi-hole)
|
|
||||||
# - "/data/compose/5/etc-dnsmasq.d:/etc/dnsmasq.d:rw"
|
|
||||||
networks:
|
|
||||||
- pihole_default
|
|
||||||
|
|
||||||
networks:
|
|
||||||
pihole_default:
|
|
||||||
name: pihole_default
|
|
||||||
external: true
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
volumes:
|
||||||
|
pihole_data:
|
||||||
|
dnsmasq_data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
pihole:
|
||||||
|
image: pihole/pihole:latest
|
||||||
|
container_name: pihole
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TZ=America/New_York # Change to your actual timezone
|
||||||
|
- WEBPASSWORD=ChangeThisToAStrongPassword123!
|
||||||
|
volumes:
|
||||||
|
- pihole_data:/etc/pihole
|
||||||
|
- dnsmasq_data:/etc/dnsmasq.d
|
||||||
|
ports:
|
||||||
|
- "5333:53/tcp" # Non-conflicting DNS ports
|
||||||
|
- "5333:53/udp"
|
||||||
|
- "8080:80/tcp" # Web UI
|
||||||
|
dns:
|
||||||
|
- 127.0.0.1
|
||||||
|
- 1.1.1.1
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
@@ -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
|
||||||
|
```bash
|
||||||
|
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.
|
||||||
Reference in New Issue
Block a user