octoctl is the command-line tool for OctoCompose, at its core it is a wrapper for docker compose, podman-compose and nerdctl compose.
It extends the functionality of those by adding includes of url's, templates and inline config. See the ready-to-install penpot and OpenCloud apps.
Instead of cloning github repos configuring an .env file you download a config.yaml configure it for you needs and run the app.
curl -sL https://get.octocompose.dev | shgo install github.com/octocompose/octoctl/cmd/octoctl@mainoctoctl --helpNAME:
octoctl - Service Orchestration Made Simple
USAGE:
octoctl [command [command options]]
COMMANDS:
start Starts the services.
stop Stops the services.
restart Restarts the services.
logs Shows logs from services.
exec Exec into a service.
status Shows status of services.
show Shows the running configuration.
compose Runs docker compose commands.
config Manages the service configurations.
OPTIONS:
--log-level value, -l value Set the log level (debug, info, warn, error) (default: "info")
--config value, -c value [ --config value, -c value ] Path to configuration files
--force-build-operator Force build the operator. (default: false)
--clear-cache Clear the cache. (default: false)
--help, -h show help
--version, -v print the version
This command is special as it needs -- to separate the flags for octoctl from the flags for docker compose.
octoctl -c config.yaml compose -- --helpmake && ./dist/linux/amd64/octoctl start -c config.yaml --force-build-operator -l debug