- Add config.sh with centralized container names and ports - Update healthcheck.sh to use config variables (avoid hardcoding) - Add health check targets to Makefile (health, health-*) - Add backup utility targets to Makefile (backup, backup-*) - Reorganize Makefile help output by service category |
||
|---|---|---|
| bin | ||
| 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.