https://github.com/amrelsagaei/updock
Run any Docker app from one word. No YAML, no flag-hunting.
https://github.com/amrelsagaei/updock
automation cli container-management containers devops devtools docker docker-compose go golang terminal
Last synced: 9 days ago
JSON representation
Run any Docker app from one word. No YAML, no flag-hunting.
- Host: GitHub
- URL: https://github.com/amrelsagaei/updock
- Owner: amrelsagaei
- License: other
- Created: 2026-05-29T14:31:33.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2026-05-29T19:13:38.000Z (27 days ago)
- Last Synced: 2026-05-29T19:20:21.948Z (27 days ago)
- Topics: automation, cli, container-management, containers, devops, devtools, docker, docker-compose, go, golang, terminal
- Language: Go
- Homepage: https://amrelsagaei.github.io/updock/
- Size: 166 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
[](https://github.com/amrelsagaei/updock/actions/workflows/ci.yml)
[](https://goreportcard.com/report/github.com/amrelsagaei/updock)
[](https://github.com/amrelsagaei/updock/releases)
[](LICENSE)
[](go.mod)
[Install](https://amrelsagaei.github.io/updock/installation) · [Quick start](https://amrelsagaei.github.io/updock/quickstart) · [Docs](https://amrelsagaei.github.io/updock/) · [Recipes](https://amrelsagaei.github.io/updock/recipes)
You type a name. updock finds the image, lets you pick a version, asks you the
few things that actually matter (ports, passwords, env vars), writes the Compose
file and `.env` for you, and brings it up. After that you control everything by
number.
```console
$ updock juice-shop
Searching Docker Hub for "juice-shop"...
1) bkimminich/juice-shop:latest official-style, 50M+ pulls [best match]
2) bkimminich/juice-shop (choose version)
3) bkimminich/juice-shop-ctf:latest related
Pick a number, or use arrows + enter: 1
✓ Created project 'juice-shop' (bkimminich/juice-shop:latest)
Start it now? Yes
✓ juice-shop is running.
http://localhost:3000
```
## Features
- **One word in, a running app out.** `updock postgres` searches Docker Hub,
ranks the matches, and walks you to a running container.
- **Smart ranking.** Official and popular images surface first, with fuzzy name
matching so the right image is almost always option one.
- **Version picker.** Choose a specific tag, sorted newest-first with proper
semantic-version ordering and `latest` pinned on top.
- **No YAML, ever.** updock reads the image and asks only what matters: ports,
required passwords, common env vars, volumes. Then it writes a clean
`docker-compose.yml` and `.env` for you.
- **Strong secrets by default.** Required passwords are generated with
`crypto/rand`, stored in a `0600` `.env`, masked in every view, and never
written into the Compose file.
- **Control by number.** `updock ls` numbers everything; `updock up 2`,
`updock logs 2`, `updock rm 2`. No names to retype.
- **Recipes for multi-service apps.** WordPress with MySQL, Nextcloud with
MariaDB, Gitea with Postgres, and more, scaffolded and wired together. Add
your own as plain YAML.
- **Live state.** `updock ls` queries Docker directly, so the state column is
always real, never stale.
- **Not a lock-in.** Output is standard Compose. Keep the files and run
`docker compose` yourself any time.
- **No telemetry.** updock never phones home.
## Get started in 30 seconds
```bash
# install (pick one; see the docs for every method)
brew install amrelsagaei/tap/updock
go install github.com/amrelsagaei/updock/cmd/updock@latest
# check your environment, then run something
updock doctor
updock postgres
```
Full walkthrough: [Quick start](https://amrelsagaei.github.io/updock/quickstart). Every install method:
[Installation](https://amrelsagaei.github.io/updock/installation).
## How it works
`updock ` runs a short pipeline: **preflight → search → select → inspect →
configure → scaffold → up**. It reads an image's ports and env vars from the
registry without pulling it, asks only the questions that matter, and starts the
stack in the background. The details are in [Usage](https://amrelsagaei.github.io/updock/usage).
## Documentation
The full documentation lives at [amrelsagaei.github.io/updock](https://amrelsagaei.github.io/updock/):
- [Installation](https://amrelsagaei.github.io/updock/installation) - every method, per OS, plus verifying a signed download
- [Quick start](https://amrelsagaei.github.io/updock/quickstart) - zero to running app
- [Usage](https://amrelsagaei.github.io/updock/usage) - the pipeline and control by number
- [Commands](https://amrelsagaei.github.io/updock/commands) - full command reference
- [Configuration](https://amrelsagaei.github.io/updock/configuration) - the config file and every option
- [Recipes](https://amrelsagaei.github.io/updock/recipes) - multi-service apps and authoring your own
- [Projects and file layout](https://amrelsagaei.github.io/updock/projects) - what updock writes and where
- [Security model](https://amrelsagaei.github.io/updock/security) - how secrets and images are handled
- [Troubleshooting](https://amrelsagaei.github.io/updock/troubleshooting) - common issues and fixes
- [FAQ](https://amrelsagaei.github.io/updock/faq) - short answers