automa/README.md
m1ngsama 4a674026ea docs: redesign README as project portal with banner and badges
- Centered SVG banner with terminal prompt icon
- shields.io badges (license, release, bash, docker, stars)
- Feature highlights, project table with upstream links
- Project structure diagram, requirements table
- Contributing guide for adding new projects
2026-04-15 10:38:58 +08:00

5 KiB

automa

Self-hosted Docker Compose deployer
Interactive CLI to deploy Forgejo, Nextcloud, Minecraft, and more in seconds.

License Release Bash 4+ Docker 20.10+ Stars


Quick Start

curl -fsSL https://raw.githubusercontent.com/m1ngsama/automa/main/install.sh | bash
cd ~/automa
./automa deploy

That's it. The CLI walks you through everything interactively.

What is automa?

automa is a single bash script that turns a collection of Docker Compose projects into a deploy-ready toolkit. No YAML editing, no manual docker compose commands — just answer a few questions and your services are live.

  • Zero config — sensible defaults for every project, secrets auto-generated
  • Interactive — guided setup with hints, validation, and color-coded output
  • Non-interactiveautoma -y deploy for CI/scripts, accepts all defaults
  • Self-contained — each project is an independent directory, no shared dependencies
  • Portable — pure bash, works on any Linux with Docker

Available Projects

Project Description Upstream
Forgejo Self-hosted Git service (Gitea fork) forgejo.org
Nextcloud Private cloud with MariaDB + Redis nextcloud.com
Uptime Kuma Uptime monitoring dashboard GitHub
Tailscale Mesh VPN client + optional DERP relay tailscale.com
Filesuite Cloudreve cloud storage + qBittorrent cloudreve.org
Minecraft Fabric server (itzg/minecraft-server) Docs
TeamSpeak Voice communication server teamspeak.com

Adding your own project? Just create a directory with compose.yaml and .env.example — automa discovers it automatically.

Usage

automa deploy                       # interactive project selection
automa deploy forgejo nextcloud     # deploy specific projects
automa -y deploy forgejo            # non-interactive (CI/scripts)
automa status                       # overview dashboard
automa logs minecraft               # follow container logs
automa stop forgejo                 # stop a project
automa restart nextcloud            # restart a project
automa update nextcloud             # pull latest images & recreate
automa config tailscale             # reconfigure .env
automa list                         # list all projects

How It Works

~/automa/
├── automa                 # CLI entry point (single script)
├── install.sh             # curl-pipe-bash installer
├── forgejo/
│   ├── compose.yaml       # Docker Compose definition
│   ├── .env.example       # Template with metadata + defaults
│   └── .env               # Your config (gitignored, created by CLI)
├── nextcloud/
│   └── ...
└── ...

Each project directory is fully self-contained:

  • compose.yaml — production-ready with health checks, resource hints, and security hardening
  • .env.example — annotated template with @name, @desc, @url, @port metadata that the CLI reads
  • .env — your configuration, auto-generated with safe defaults and random secrets

Requirements

Dependency Minimum
Docker 20.10+
Docker Compose v2 (plugin)
Bash 4.0+
Git any

The installer checks all prerequisites automatically.

Uninstall

cd ~/automa
./automa stop <each-project>    # stop running containers
cd ~ && rm -rf ~/automa         # remove automa

Data volumes are stored inside each project's data/ directory and will be removed with the above command. Back up first if needed.

Contributing

Contributions are welcome! To add a new project:

  1. Create a new directory: mkdir myproject
  2. Add a compose.yaml with health checks
  3. Add a .env.example with metadata headers:
    # @name My Project
    # @desc Short description shown in CLI
    # @url https://project-homepage.com
    # @port PORT_VAR_NAME
    
  4. Open a pull request

License

MIT © m1ngsama