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