automa/README.md
m1ngsama 3433516287 refactor: restructure as self-contained project dirs with interactive CLI
- Remove old services/, bin/, config.sh, Makefile, setup.sh
- Each Docker Compose project is now a top-level self-contained directory
  with compose.yaml + .env.example (project self-governance)
- Add automa CLI: interactive deploy, status, logs, stop, update, config
- Add install.sh for curl-pipe-bash quick start
- New projects from production: uptime-kuma, tailscale+derp, monitoring
  (prometheus+grafana+blackbox+node-exporter), filesuite (cloudreve+qbt),
  huajibot, dockge, notification-center
- Clean up existing projects: forgejo, minecraft, teamspeak, nextcloud
- Sanitize all .env.example files (no real secrets)
2026-04-15 09:54:23 +08:00

55 lines
1.6 KiB
Markdown

# automa
Self-hosted Docker Compose project deployer. Interactive CLI for quick deployment.
## Quick start
```bash
curl -fsSL https://raw.githubusercontent.com/m1ngsama/automa/main/install.sh | bash
cd ~/automa
./automa deploy
```
## Usage
```bash
./automa deploy # interactive project selection
./automa deploy forgejo monitoring # deploy specific projects
./automa status # check all project status
./automa logs forgejo # follow logs
./automa stop forgejo # stop a project
./automa update monitoring # pull latest images & recreate
./automa config tailscale # reconfigure .env
./automa list # list available projects
```
## Projects
| Project | Description |
|---------|-------------|
| `forgejo` | Self-hosted Git (Gitea fork) |
| `uptime-kuma` | Uptime monitoring dashboard |
| `tailscale` | Tailscale client + DERP relay server |
| `monitoring` | Prometheus + Grafana + Blackbox + Node Exporter |
| `filesuite` | Cloudreve cloud storage + qBittorrent |
| `minecraft` | Fabric Minecraft server |
| `teamspeak` | TeamSpeak voice server |
| `nextcloud` | Nextcloud with MariaDB + Redis |
| `huajibot` | HuaJi Bot |
| `dockge` | Docker Compose stack manager |
| `notification-center` | Webhook notification service |
## Structure
Each project is a self-contained directory:
```
project-name/
├── compose.yaml # Docker Compose definition
├── .env.example # Template with default values
└── .env # Your config (gitignored, created by CLI)
```
## License
MIT