todo:
- OIDC db sync
- Update readme
- Remove or use
settings.phpfor something - Remove user deletion logic fully (rely on OIDC)
- Finish and migrate to
users/action.php - Remove auth specific fields / tables from DB schema
- Assess if entrypoint is even needed (it isnt, unused rn, lets delete it)
- Remove "not in use" comment from
docker.php
notes to add in:
- codebase is under 3mb
- FrankenPHP
- 96mb RAM usage
- compare to other platforms
- OIDC Only, need to setup instructions to use it w github, google, discord
- maybe authelia, authentik, pocket-id (which i use too)
- time consuming though
- oh yeah per user perms actually work now too...
- portainer makes u pay for this
- download and run portainer, dockge, yacht, and whatever else there is
- this is time consuming ah
- this is also gonna kill my homeserver
- this isnt for orchestration
- purely stop/start/logs/rbac
- literally started for minecraft and grew
- note ai usage
- minimal, just for ui and double checking
- also for minor refactors
- most of copilots agentic code has been written over
- really messed up a lot of the app never gonna use agentic coding again
- also used for readme, changelog (vetted), and improving comments
A dead-simple, super-lightweight PHP + SQLite web UI for managing Docker containers. It does one thing well: let you view container logs and start/stop containers with per-user permissions and minimal ops overhead.
Image: ghcr.io/10ij/dockyard:v1.0.1 (also available as :latest)
Stack: PHP 8, SQLite3, HTMX, Pico CSS
- Quick start (Docker)
- Docker Compose example
- Features
- Usage
- Security & deployment notes
- Development
- Contributing
- License
- Changelog
Run on the Docker host (requires access to the Docker socket):
docker run -d \
--name dockyard \
-p 8080:80 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v dockyard-data:/app/data \
ghcr.io/10ij/dockyard:v1.0.1Open: http://localhost:8080
Notes:
- The app inspects and controls containers via the Docker socket.
- Persist data by mounting
/app/data(above uses a named volumedockyard-data).
version: "3.8"
services:
dockyard:
image: ghcr.io/10ij/dockyard:v1.0.1
ports:
- "8080:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- dockyard-data:/app/data
volumes:
dockyard-data:- Live container status (HTMX polling).
- Tail and refresh container logs.
- Start / stop containers from the UI.
- Per-user permissions and basic user management.
- Tiny single-repo app: PHP + SQLite, no external DB required.
- Launch the container (see Quick start).
- Open the web UI.
- Default user combo is admin/pass
- Create users and assign container permissions via the Users pages.
- Click a container to view logs, status, and use Start / Stop controls.
- Very small codebase; HTMX endpoints handle partial updates (logs, status, actions).
- Data stored in SQLite under
/app/datainside the container. - Recommended for self-hosting and quick local setups; not a replacement for full-featured orchestration UIs.
See LICENSE file
See CHANGELOG.md