Files
codeandClaude Fable 5 b4375c3e09 add 23 requested stacks from container-requests list
Tdarr, Grocy, Dashy, Traefik, Fider, Twenty CRM, Outline, Chatwoot,
ComfyUI, Picard, VoidAuth, Tinyauth, Tugtainer, Sencho, Authelia,
Mail Archiver, ITFlow, Notifuse, Maybe Finance, DumbBudget, Silverpeas,
Portus, Obsidian — all as _dev stacks following repo conventions.

Harbor and Exportify moved to 'Apps That Will Not be in the Repo'
(installer-generated compose / no published image).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 06:24:26 +00:00

61 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Portus
## Overview
Web UI and authorization service for on-premise Docker registries.
## Project Details
- **Project Repository:** [GitHub](https://github.com/SUSE/Portus)
- **Container Image:** [opensuse/portus](https://hub.docker.com/r/opensuse/portus/)
- **Documentation:** [port.us.org](http://port.us.org/)
- **Reverse Proxy Port:** `3000`
## Getting Started
1. Start the container: `docker compose up -d`
2. Open http://localhost:3000 in your browser
3. Follow the initial setup wizard to configure the application
## Environment Variable Notes
PORTUS_FQDN hostname Portus is reached at (must match registry config)
PORTUS_SECRET_KEY_BASE generate with `openssl rand -hex 64`
PORTUS_PASSWORD internal password Portus uses to talk to the registry
## Volume Notes
/var/lib/mysql MariaDB data
## Network Notes
Requires proxy network
## Docker Run
```bash
docker run -d \
--name portus \
-p 3000:3000 \
-e PORTUS_MACHINE_FQDN_VALUE=portus.localhost \
-e PORTUS_SECRET_KEY_BASE=changeme \
-e PORTUS_PASSWORD=changeme \
-e PORTUS_DB_HOST=dbhost \
opensuse/portus:2.5
```
## Additional Notes / Gotchas
Portus was abandoned by openSUSE/SUSE years ago — kept here for reference only. It also needs a Docker registry container configured with Portus as its token auth endpoint (not included). For a maintained registry UI consider Harbor or the built-in gitea registry.
## Dockhand Stack, Deploy from Git
Cookbooks Repository
stackname: portus_dev
Compose file path: portus_dev/compose.yaml
Additional env file (optional): portus_dev/sample.env
Then "Load" portus_dev/sample.env into the Environmental variables in dockhand
Create the Stack