Add infrastructure layer with following components: **Reverse Proxy & SSL:** - Caddy: Auto HTTPS with Let's Encrypt, simple configuration - Caddyfile with reverse proxy rules for Nextcloud and Grafana **Monitoring Stack (Observability):** - Prometheus: Metrics collection and time-series database - Grafana: Visualization dashboards with datasource provisioning - Loki: Lightweight log aggregation - Promtail: Log collection agent for Docker containers - cAdvisor: Container resource monitoring **Automation:** - Watchtower: Automatic Docker image updates (label-based) - Duplicati: Remote backup with web UI and encryption support **Security:** - Fail2ban: Intrusion prevention and IP banning **Key Features:** - All services use official Alpine-based images (lightweight) - Network isolation (automa-proxy, automa-monitoring) - Resource limits and health checks configured - Read-only configs where applicable - Comprehensive README with setup instructions **Resource Usage:** - Total additional overhead: ~1.5GB RAM, ~16GB disk - Follows KISS principles and Unix philosophy - All services replaceable and independently scalable Refs: #3 |
||
|---|---|---|
| bin | ||
| infrastructure | ||
| minecraft | ||
| nextcloud | ||
| teamspeak | ||
| .gitignore | ||
| config.sh | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
Automa
A collection of self-hosted service automation tools following the Unix philosophy: do one thing well, be composable, and stay simple.
Philosophy
This project embraces Unix principles:
- Modularity: Each service is self-contained
- Simplicity: Minimal dependencies, clear configuration
- Composability: Tools work together through standard interfaces
- Transparency: Plain text configuration, readable scripts
Services
Minecraft Server
Automated Minecraft Fabric server deployment with mod management.
Location: minecraft/
Quick Start:
cd minecraft
cp .env.example .env # Edit as needed
docker compose up -d
See minecraft/README.md for details.
TeamSpeak Server
Voice communication server with minimal configuration.
Location: teamspeak/
Quick Start:
cd teamspeak
cp .env.example .env # Edit as needed
docker compose up -d
See teamspeak/README.md for details.
Nextcloud
Self-hosted file sync and collaboration platform.
Location: nextcloud/
Quick Start:
cd nextcloud
cp .env.example .env # Edit as needed
docker compose up -d
See nextcloud/README.md for details.
Utilities
Organization Repository Cloner
Batch clone all repositories from a GitHub organization.
Location: bin/org-clone.sh
Usage:
./bin/org-clone.sh <org-name>
Prerequisites
- Docker & Docker Compose
- Bash 4.0+
- Git
Project Structure
automa/
├── bin/ # Utility scripts
│ └── org-clone.sh # GitHub org repo cloner
├── minecraft/ # Minecraft server setup
├── teamspeak/ # TeamSpeak server setup
├── nextcloud/ # Nextcloud setup
└── README.md # This file
Common Operations
All services follow consistent patterns:
Start a Service
cd <service-name>
docker compose up -d
View Logs
cd <service-name>
docker compose logs -f
Stop a Service
cd <service-name>
docker compose down
Update a Service
cd <service-name>
docker compose pull
docker compose up -d
Security Notes
- Always change default passwords in
.envfiles - Keep
.envfiles out of version control - Use strong passwords for production deployments
- Review exposed ports before deployment
Contributing
Contributions welcome. Keep changes:
- Simple and focused
- Well-documented
- Following existing patterns
- Unix philosophy aligned
License
MIT License - See LICENSE file for details.