back to home

totomusu / fastdock

A simple web-based Docker container management interface with a modern design. This application provides a fast and intuitive way to start and stop Docker containers on the go through a beautiful web interface.

113 stars
3 forks
2 issues
JavaScriptCSSHTML

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing totomusu/fastdock in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/totomusu/fastdock)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

A lightweight, stupid simple, web-based Docker container start/stop UI for LAN environments. --- > **Security notice:** FastDock has **no user authentication**. It is designed for internal/LAN use only and must be deployed behind a VPN or in a trusted network. Mounting grants full control over the Docker host. See Security and SECURITY.md. --- Screenshots Desktop — container grid with status indicators Mobile — responsive layout Edit modal — rename containers and assign custom icons --- Table of Contents • Features • Quick Start • Installation • Docker Compose (recommended) • Node.js / npm • PM2 (production) • Configuration • Usage • API Reference • Security • Limitations • Contributing • License • Acknowledgements --- Features **Container Management** • Start and stop containers with a single click • Real-time status indicators (running / stopped) • Search containers by name **Multi-Server Support** • Manage containers across multiple local and remote Docker hosts • Add, edit, and delete server configurations • Per-server container views with clear server labels **Customization** • Assign custom display names to containers • Upload custom icons (PNG, JPG, GIF, WebP, SVG — max 2 MB) • Search and download icons from the selfh.st/icons library **Interface** • Responsive design — works on desktop, tablet, and mobile • Configurable grid layout (1–3 columns) • Sorting options (running first, alphabetical) • Persistent preferences via --- Quick Start Open in a browser. --- Installation Docker Compose (recommended) FastDock runs as a container but requires access to the host Docker daemon via the socket mount. • Settings and uploaded icons persist in (mounted to ). • The default port is . Override it in or via the environment variable. > **macOS / Windows:** Docker Desktop mounts the socket into its Linux VM, so FastDock controls that VM's containers — not host OS processes. Node.js / npm **Prerequisites:** Node.js ≥ 16.0.0, Docker daemon running locally. For development with auto-reload: > Do not run — is already the entrypoint; extra arguments are forwarded and will cause an error. PM2 (production) --- Configuration Environment Variables | Variable | Default | Description | |---|---|---| | | | Port the HTTP server listens on | Reverse Proxy FastDock works behind Caddy, Nginx, or any standard reverse proxy. The server enables Express so that rate limiting works correctly with headers. Example Caddy block: Docker Socket Verify the socket is accessible before starting: --- Usage Basic Operations • **Select a server** — use the dropdown to switch between local and remote Docker hosts. • **View containers** — all containers for the selected server are shown as cards. • **Start / Stop** — click the button on any container card. • **Edit** — click the pencil icon to open the edit modal. Container Customization • Click the pencil icon on any container card. • Set a custom display name. • Upload a custom icon **or** search for one by name (sourced from selfh.st/icons). • Click **Save**. Supported upload formats: PNG, JPG, GIF, WebP, SVG. Maximum size: 2 MB. Server Management • Click **+** next to the server selector to add a remote server. • Enter a name, address (e.g. ), and port. • Use the pencil or trash icons next to existing servers to edit or remove them. Status Indicators | Indicator | Meaning | |---|---| | Green dot | Container is running | | Red dot | Container is stopped | --- API Reference Container Operations | Method | Endpoint | Description | |---|---|---| | | | List all containers | | | | Start a container | | | | Stop a container | | | | Find a container by name | | | | Get all container customizations | | | | Update container name and/or icon (multipart/form-data) | Server Management | Method | Endpoint | Description | |---|---|---| | | | Get configured remote servers | | | | Add a new server | | | | Edit an existing server | | | | Remove a server | Icon Management | Method | Endpoint | Description | |---|---|---| | | | Search selfh.st/icons via jsdelivr CDN | | | | Download and store an icon (CDN whitelist enforced) | --- Security FastDock implements the following mitigations: | Measure | Detail | |---|---| | Security headers | Helmet sets , , , and more | | Rate limiting | 100 API requests/min per IP; 20 requests/min for icon downloads | | Input validation | Container IDs, server addresses, ports, and filenames validated server-side | | File upload validation | MIME type checked via HTTP header **and** magic bytes; 2 MB limit; filename sanitised | | SSRF protection | Icon downloads whitelisted to only; redirects blocked | | Path traversal protection | All file paths resolved and checked against the assets directory | | Error message safety | Server errors logged server-side; clients receive generic messages for 5xx responses | | Data isolation | is outside the web root and not accessible over HTTP | Despite these measures, FastDock **has no authentication layer**. It must only be deployed in networks where all users are trusted. See SECURITY.md for the full security posture and responsible disclosure process. --- Limitations • No user authentication — deploy in trusted networks only. • No audit log of container start/stop operations. • Single-instance only (no distributed state). --- Contributing Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request. **Quick steps:** • Fork the repository. • Create a feature branch: . • Commit your changes with a clear message. • Push and open a Pull Request against . For bug reports and feature requests, open a GitHub Issue. --- License Distributed under the **GNU General Public License v3.0**. See LICENSE for the full text. --- Acknowledgements • Dockerode — Docker API client for Node.js • selfh.st/icons — icon library used for container icon search • Helmet — Express security headers • Multer — multipart file upload handling • file-type — magic…