{"id":28758789,"url":"https://github.com/totovr46/fastdock","last_synced_at":"2025-06-17T04:09:47.457Z","repository":{"id":297474997,"uuid":"996883470","full_name":"totovr46/fastdock","owner":"totovr46","description":"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.","archived":false,"fork":false,"pushed_at":"2025-06-12T21:08:40.000Z","size":3940,"stargazers_count":94,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T22:25:04.041Z","etag":null,"topics":["docker","docker-compose","docker-container","dockermanager","javascript","node","npm","webbased","webui"],"latest_commit_sha":null,"homepage":"https://fastdock.salvatoremusumeci.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/totovr46.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-05T15:56:41.000Z","updated_at":"2025-06-12T21:08:44.000Z","dependencies_parsed_at":"2025-06-05T17:36:32.850Z","dependency_job_id":"16e5df89-f8e8-4abb-9a52-bfc6b2bff0b5","html_url":"https://github.com/totovr46/fastdock","commit_stats":null,"previous_names":["totovr46/fastdock"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/totovr46/fastdock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totovr46%2Ffastdock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totovr46%2Ffastdock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totovr46%2Ffastdock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totovr46%2Ffastdock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/totovr46","download_url":"https://codeload.github.com/totovr46/fastdock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totovr46%2Ffastdock/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260288454,"owners_count":22986669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-container","dockermanager","javascript","node","npm","webbased","webui"],"created_at":"2025-06-17T04:09:46.575Z","updated_at":"2025-06-17T04:09:47.444Z","avatar_url":"https://github.com/totovr46.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![icon](Icon2Nobg.png)\n\n# Fastdock\n\nA 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.\n\n🎯 [Live Demo](https://fastdock.salvatoremusumeci.com)\n\n![Fastdock Interface](fast-demo.png)\n![Fastdock iOS Interface](iphone.png)\n\n## ⚠️ Security Notice\n\n**This application is designed for internal use only and should be deployed behind a VPN or in a secure network environment.**\n\n* No authentication or authorization mechanisms\n* Direct access to Docker daemon\n* File upload capabilities without advanced validation\n* Suitable for development/staging environments only\n\n## ✨ Features\n\n* **Real-time Container Management**: Start and stop Docker containers\n* **Multi-Server Management**: Manage Docker containers across multiple servers from a single interface\n* **Server Selector**: Quickly switch between local and remote servers\n* **Add/Edit/Delete Servers**: Configure remote servers with custom name, address, and port\n* **Server-Aware Display**: Container cards show which server they belong to\n* **Custom Container Icons**: Upload custom icons for better visual identification\n* **Container Renaming**: Assign custom names to containers\n* **Responsive Design**: Works seamlessly on desktop, tablet, and mobile devices\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n* Node.js \u003e= 16.0.0\n* Docker daemon running\n* Docker socket accessible (`/var/run/docker.sock`)\n\n### Installation\n\n1. **Clone the repository**\n\n```bash\ngit clone https://github.com/totovr46/fastdock.git\ncd fastdock\n```\n\n2. **Install dependencies**\n\n```bash\nnpm install\n```\n\n3. **Start the application**\n\n```bash\nnpm start\n```\n\n4. **Access the interface**\n   Open your browser and navigate to `http://serverIP:3080`\n\n## 📋 API Endpoints\n\n### Container Operations\n\n* `GET /api/containers` - List all containers on the selected server\n* `POST /api/containers/:id/start` - Start a container\n* `POST /api/containers/:id/stop` - Stop a container\n* `GET /api/containers/name/:name` - Find container by name\n\n### Container Settings\n\n* `POST /api/containers/settings/:id` - Update container settings (name, icon)\n* `GET /api/containers/settings` - Get all container settings\n\n### Server Management\n\n* `GET /api/servers` - List configured remote servers\n* `POST /api/servers` - Add a new server\n* `PUT /api/servers/:id` - Edit an existing server\n* `DELETE /api/servers/:id` - Remove a server\n\n## 🛠️ Development\n\n### Project Structure\n\n```\nfastdock/\n├── server.js                  # Main server file\n├── package.json              # Dependencies and scripts\n├── public/\n│   ├── index.html            # Main web interface\n│   ├── assets/               # Uploaded container icons\n│   ├── containerSettings.json # Container customization data\n│   └── servers.json          # Stored remote server configurations\n└── README.md\n```\n\n## 🔧 Configuration\n\n### Environment Variables\n\n* `PORT` - Server port (default: 3080), you can change it in the server.js file as you prefer\n\n### Docker Socket\n\nThe application requires access to the Docker socket. Ensure Docker is running and the socket is accessible:\n\n**Linux/macOS:**\n\n```bash\nls -la /var/run/docker.sock\n```\n\n**Windows (WSL):**\n\n```bash\n# Ensure Docker Desktop is running\ndocker ps\n```\n\n## 🚦 Usage\n\n### Basic Operations\n\n1. **Select Server**: Use the dropdown menu to choose a local or remote server\n2. **View Containers**: See all containers for the selected server\n3. **Start/Stop**: Use the buttons to manage containers as usual\n4. **Edit Container**: Click the pencil icon to change name or icon\n\n### Container Customization\n\n1. Click the edit icon (pencil) on any container card\n2. Upload a custom icon (image files only)\n3. Set a custom name for easier identification\n4. Click \"Save\" to apply changes\n\n### Server Management\n\n1. Click the server selector dropdown\n2. Select \"Add Server\" to configure a new remote Docker server\n3. Use the edit or delete options to manage existing servers\n4. Server data is persisted and automatically loaded on startup\n\n### Status Indicators\n\n* 🟢 **Green**: Container is running\n* 🔴 **Red**: Container is stopped\n\n## 🔐 Security Considerations\n\n### Network Security\n\n* **Deploy behind VPN**: Ensure the application is only accessible through a secure VPN connection\n* **Internal Network**: Use only in trusted internal networks\n\n### File Upload Security\n\n* Only image files are accepted for container icons\n* Files are stored in the `public/assets/` directory\n\n### Docker Access\n\n* The application requires Docker socket access\n* All VPN users will have full container management capabilities\n* Consider Docker socket security best practices\n\n## 🚨 Limitations\n\n* **No User Authentication**: All users have the same access level\n* **No Audit Logging**: Container operations are not logged\n* **Local Storage**: Settings are stored in local JSON files\n* **Single Instance**: Not designed for multi-instance deployment\n\n## 🛌 Multi-Server Support\n\nAs of **v1.1.0**, FastDock supports managing containers across multiple Docker hosts. Key points:\n\n* Add servers with custom name, address, and port\n* Switch between servers using the dropdown selector\n* View and manage containers per-server\n* Each container shows the server it belongs to\n* Full backwards compatibility with single-server setups\n* Server list and settings are persisted locally\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n**⚠️ Important**: This application provides direct access to Docker containers. Use only in secure, controlled environments with trusted users.\n![icon](Icon.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotovr46%2Ffastdock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftotovr46%2Ffastdock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotovr46%2Ffastdock/lists"}