mirror of
https://github.com/m1ngsama/automa.git
synced 2025-12-24 10:51:20 +00:00
feat: add unified Makefile for service management
Provide consistent interface for all operations Simplify common tasks across services Support both individual and batch operations Unix philosophy: composable tools with standard interface Make targets: help, status, up, down, logs, restart per service
This commit is contained in:
parent
594cdf586d
commit
01054f7b22
1 changed files with 127 additions and 0 deletions
127
Makefile
Normal file
127
Makefile
Normal file
|
|
@ -0,0 +1,127 @@
|
||||||
|
# Automa - Unified Makefile
|
||||||
|
# Provides common operations across all services
|
||||||
|
|
||||||
|
.PHONY: help all status up down logs restart clean minecraft teamspeak nextcloud
|
||||||
|
|
||||||
|
# Default target
|
||||||
|
help:
|
||||||
|
@echo "Automa - Self-hosted Services Manager"
|
||||||
|
@echo ""
|
||||||
|
@echo "Usage: make [target]"
|
||||||
|
@echo ""
|
||||||
|
@echo "Global Commands:"
|
||||||
|
@echo " help Show this help message"
|
||||||
|
@echo " status Show status of all services"
|
||||||
|
@echo " all-up Start all services"
|
||||||
|
@echo " all-down Stop all services"
|
||||||
|
@echo ""
|
||||||
|
@echo "Service-specific Commands:"
|
||||||
|
@echo " minecraft-up Start Minecraft server"
|
||||||
|
@echo " minecraft-down Stop Minecraft server"
|
||||||
|
@echo " minecraft-logs View Minecraft logs"
|
||||||
|
@echo " minecraft-restart Restart Minecraft server"
|
||||||
|
@echo ""
|
||||||
|
@echo " teamspeak-up Start TeamSpeak server"
|
||||||
|
@echo " teamspeak-down Stop TeamSpeak server"
|
||||||
|
@echo " teamspeak-logs View TeamSpeak logs"
|
||||||
|
@echo " teamspeak-restart Restart TeamSpeak server"
|
||||||
|
@echo ""
|
||||||
|
@echo " nextcloud-up Start Nextcloud"
|
||||||
|
@echo " nextcloud-down Stop Nextcloud"
|
||||||
|
@echo " nextcloud-logs View Nextcloud logs"
|
||||||
|
@echo " nextcloud-restart Restart Nextcloud"
|
||||||
|
@echo ""
|
||||||
|
@echo "Utility Commands:"
|
||||||
|
@echo " check Check prerequisites"
|
||||||
|
@echo " clean Remove stopped containers and unused volumes"
|
||||||
|
|
||||||
|
# Check prerequisites
|
||||||
|
check:
|
||||||
|
@echo "Checking prerequisites..."
|
||||||
|
@command -v docker >/dev/null 2>&1 || { echo "Docker not found. Install: https://docs.docker.com/get-docker/"; exit 1; }
|
||||||
|
@command -v docker compose >/dev/null 2>&1 || command -v docker-compose >/dev/null 2>&1 || { echo "Docker Compose not found."; exit 1; }
|
||||||
|
@echo "✓ All prerequisites satisfied"
|
||||||
|
|
||||||
|
# Status check for all services
|
||||||
|
status:
|
||||||
|
@echo "=== Service Status ==="
|
||||||
|
@echo ""
|
||||||
|
@echo "Minecraft:"
|
||||||
|
@cd minecraft && docker compose ps 2>/dev/null || echo " Not running"
|
||||||
|
@echo ""
|
||||||
|
@echo "TeamSpeak:"
|
||||||
|
@cd teamspeak && docker compose ps 2>/dev/null || echo " Not running"
|
||||||
|
@echo ""
|
||||||
|
@echo "Nextcloud:"
|
||||||
|
@cd nextcloud && docker compose ps 2>/dev/null || echo " Not running"
|
||||||
|
|
||||||
|
# Start all services
|
||||||
|
all-up:
|
||||||
|
@echo "Starting all services..."
|
||||||
|
@cd minecraft && docker compose up -d
|
||||||
|
@cd teamspeak && docker compose up -d
|
||||||
|
@cd nextcloud && docker compose up -d
|
||||||
|
@echo "✓ All services started"
|
||||||
|
|
||||||
|
# Stop all services
|
||||||
|
all-down:
|
||||||
|
@echo "Stopping all services..."
|
||||||
|
@cd minecraft && docker compose down
|
||||||
|
@cd teamspeak && docker compose down
|
||||||
|
@cd nextcloud && docker compose down
|
||||||
|
@echo "✓ All services stopped"
|
||||||
|
|
||||||
|
# Minecraft
|
||||||
|
minecraft-up:
|
||||||
|
@cd minecraft && docker compose up -d
|
||||||
|
@echo "✓ Minecraft server started"
|
||||||
|
|
||||||
|
minecraft-down:
|
||||||
|
@cd minecraft && docker compose down
|
||||||
|
@echo "✓ Minecraft server stopped"
|
||||||
|
|
||||||
|
minecraft-logs:
|
||||||
|
@cd minecraft && docker compose logs -f
|
||||||
|
|
||||||
|
minecraft-restart:
|
||||||
|
@cd minecraft && docker compose restart
|
||||||
|
@echo "✓ Minecraft server restarted"
|
||||||
|
|
||||||
|
# TeamSpeak
|
||||||
|
teamspeak-up:
|
||||||
|
@cd teamspeak && docker compose up -d
|
||||||
|
@echo "✓ TeamSpeak server started"
|
||||||
|
|
||||||
|
teamspeak-down:
|
||||||
|
@cd teamspeak && docker compose down
|
||||||
|
@echo "✓ TeamSpeak server stopped"
|
||||||
|
|
||||||
|
teamspeak-logs:
|
||||||
|
@cd teamspeak && docker compose logs -f
|
||||||
|
|
||||||
|
teamspeak-restart:
|
||||||
|
@cd teamspeak && docker compose restart
|
||||||
|
@echo "✓ TeamSpeak server restarted"
|
||||||
|
|
||||||
|
# Nextcloud
|
||||||
|
nextcloud-up:
|
||||||
|
@cd nextcloud && docker compose up -d
|
||||||
|
@echo "✓ Nextcloud started"
|
||||||
|
|
||||||
|
nextcloud-down:
|
||||||
|
@cd nextcloud && docker compose down
|
||||||
|
@echo "✓ Nextcloud stopped"
|
||||||
|
|
||||||
|
nextcloud-logs:
|
||||||
|
@cd nextcloud && docker compose logs -f
|
||||||
|
|
||||||
|
nextcloud-restart:
|
||||||
|
@cd nextcloud && docker compose restart
|
||||||
|
@echo "✓ Nextcloud restarted"
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
clean:
|
||||||
|
@echo "Cleaning up Docker resources..."
|
||||||
|
@docker container prune -f
|
||||||
|
@docker volume prune -f
|
||||||
|
@echo "✓ Cleanup complete"
|
||||||
Loading…
Reference in a new issue