feat: initial infra repo

- docker-services: 14 generic compose templates (portainer, npm, vaultwarden, gitea, jotty, nextcloud-aio, rustdesk, audiobookshelf, calibre-web, plex, erugo, jswiki, speedtest, watchtower)
- install-scripts: bash scripts for Ubuntu server bootstrap, docker, portainer, npm, backup, restore
- ansible: 4 playbooks (bootstrap, deploy-services, update-services, security-hardening) + roles skeleton
- hermes-install: Hermes CLI setup on macOS
- macos-setup: Brewfile + osx-defaults + fish-config
- home-nas-tools: metadata index for NAS projects (no binaries)
- docs: architecture, security, contributing
- README, LICENSE (MIT), .gitignore
This commit is contained in:
2026-08-01 16:25:58 +02:00
commit 444191d16d
73 changed files with 4032 additions and 0 deletions
@@ -0,0 +1,34 @@
# Watchtower monitor + auto-update
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Europe/Prague
- WATCHTOWER_MONITOR_ONLY=true
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 4 ? * SUN
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@example.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=admin@example.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=watchtower@example.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=CHANGE_ME
- WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG=Watchtower
networks:
- watchtower_net
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
networks:
watchtower_net:
name: watchtower_default
driver: bridge