Dockman Documentation
website·Indexed 31 days ago
https://dockman.radn.devA management tool for Docker that includes a full-featured file explorer for Docker compose files and configs, multi-host support via SSH, and a custom toolkit for running containers. Features include YAML quick formatting, .dockman.yaml configuration, and support for Docker socket proxies and OIDC authentication.
What's inside Dockman
- Dockman is a lightweight web-based text editor designed specifically for managing Docker compose files. It aims to provide a simple, focused interface for editing YAML and environment files without the complexity or resource overhead associated with enterprise-grade container management tools.
Overview of Dockman Docker management
Dockman is a focused Docker management tool designed for users who prefer working directly with Docker Compose files rather than abstract GUIs. It provides a web UI with a built-in text editor, allowing users to write configurations and deploy stacks with a single click, eliminating the need to manually run CLI commands likedocker compose up -dfor every stack.Overview of Dockman file aliases
File aliases allow users to browse and edit files in any host system directory (such as/opt/appdata,/mnt/storage, or/var/log) directly from the Dockman interface. This is achieved by mapping directories already mounted in the Dockman container, making them accessible via the file explorer for viewing, editing, uploading, and downloading.Manage files and directories in Dockman
Dockman provides a full-featured file explorer for managing Docker compose files and configurations. Key capabilities include:
- Basic file operations: Create, delete, rename, and move files.
- File transfer: Upload files via drag-and-drop from a local computer or download files from the server.
- Navigation: Use the search bar for quick file jumping.
- File Aliases: Access and browse directories located outside the compose root (e.g.,
/mnt/mediaor/opt/appdata).
View and edit SQLite databases in Dockman
Dockman provides a built-in SQLite browser that allows users to view and edit database files directly within the file explorer. This is achieved by spinning up a container runningsqlite-web, mounting the database file, and embedding the GUI in an iframe. The container is automatically removed when the tab is closed. Currently, only files with the.dbextension are supported.Browse and edit SQLite databases in Dockman
Dockman includes a built-in GUI SQLite browser that allows users to view and edit.dbfiles directly within the application.Manage files using the Dockman file explorer
Dockman provides a full-featured file explorer for managing Docker compose files and configurations. Key capabilities include:
- Basic file operations: Create, delete, rename, and move files.
- File transfer: Upload files via drag-and-drop from a local computer or download files to the local machine.
- Navigation: Use the search bar for quick jumps to specific files.
- File aliases: Access and browse directories located outside the compose root (e.g.,
/mnt/mediaor/opt/appdata).
Configure Dockman using environment variables
Dockman is customized via environment variables. To find the complete list of available configuration options, supported values, and descriptions for your specific version, check the information table that is automatically printed to the logs when a Dockman instance is launched.Browse and edit SQLite databases in Dockman
Dockman includes a built-in GUI SQLite browser that allows users to view and edit.dbfiles directly within the application.View and edit SQLite databases in Dockman
Dockman provides a built-in SQLite browser powered by
sqlite-web. When a user opens a file ending in.db, Dockman automatically spins up a container runningsqlite-web, mounts the database file, and embeds the GUI in an iframe. Closing the tab automatically removes the container.Constraint: Only files with the
.dbextension are supported.Deploy Dockman with LinuxServer socket proxy
This example demonstrates a full Docker Compose setup usinglscr.io/linuxserver/socket-proxy. It includes security hardening such asno-new-privileges,cap_drop: ALL, andread_only: truefor both the Dockman and proxy containers.services: dockman: container_name: dockman image: ghcr.io/ra341/dockman:canary security_opt: - no-new-privileges:true cap_drop: - ALL read_only: true tmpfs: [ "/tmp" ] healthcheck: test: wget --no-verbose --tries=1 --spider http://localhost:8866/ || exit 1 interval: 5s timeout: 5s retries: 3 environment: - DOCKMAN_COMPOSE_ROOT=/server/stacks - DOCKMAN_MACHINE_ADDR=${HOST_IP} - DOCKER_HOST=tcp://dockmanProxy:2375 volumes: - ${DATA_PATH}/dockman/config:/config - /server/stacks:/server/stacks ports: - 8866:8866 restart: always dockmanProxy: image: lscr.io/linuxserver/socket-proxy:latest container_name: dockmanProxy environment: PING: 1 VERSION: 1 INFO: 1 EVENTS: 1 CONTAINERS: 1 IMAGES: 1 NETWORKS: 1 VOLUMES: 1 EXEC: 1 POST: 1 SYSTEM: 1 ALLOW_START: 1 ALLOW_STOP: 1 ALLOW_RESTARTS: 1 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro tmpfs: - /run:rw,uid=${SUID},gid=${GUID},mode=0755 - /tmp:rw,mode=1777 - /var/lib/haproxy:rw,uid=${SUID},gid=${GUID},mode=0755 security_opt: - no-new-privileges:true read_only: true cap_drop: - ALL user: ${SUID}:${GUID} group_add: - 990 expose: - 2375 restart: unless-stoppedSet up a file alias to access host directories
To access a host directory in Dockman, you must first mount the directory in the container and then create an alias in the UI.
Step 1: Mount the Directory Add a volume mount to your
docker-compose.yml. It is recommended to keep the host path and container path identical to avoid confusion.Step 2: Restart Container Apply the changes by restarting the container.
Step 3: Create the Alias
- Open the file list and click the edit button in the sidebar.
- Enter the container path (the right side of the volume mount).
- Assign a friendly name (e.g., "appdata") for the file explorer.
Step 4: Access Files The alias will now appear in the file explorer sidebar.
services: dockman: image: ghcr.io/ra341/dockman:latest volumes: - /home/zaphodb/stacks:/home/zaphodb/stacks - /home/zaphodb/config/dockman:/config - /var/run/docker.sock:/var/run/docker.sock - /home/zaphodb/appdata:/home/zaphodb/appdata # Example mountdocker compose down && docker compose up -d