{"id":31718434,"url":"https://github.com/archellir/kibutsu-docker","last_synced_at":"2025-10-09T02:48:42.122Z","repository":{"id":275934949,"uuid":"927565841","full_name":"archellir/kibutsu-docker","owner":"archellir","description":"A lightweight, minimalistic Docker container orchestration tool focused on simplicity and ease of use. Similar to Portainer but with an emphasis on minimalism and essential features.","archived":false,"fork":false,"pushed_at":"2025-08-10T06:05:18.000Z","size":140,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-10T08:22:50.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/archellir.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-02-05T07:00:38.000Z","updated_at":"2025-08-10T06:05:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"15d6855d-401c-4279-8405-13bad2a1189c","html_url":"https://github.com/archellir/kibutsu-docker","commit_stats":null,"previous_names":["archellir/kibutsu","archellir/kibutsu-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/archellir/kibutsu-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archellir%2Fkibutsu-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archellir%2Fkibutsu-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archellir%2Fkibutsu-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archellir%2Fkibutsu-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archellir","download_url":"https://codeload.github.com/archellir/kibutsu-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archellir%2Fkibutsu-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000766,"owners_count":26082906,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-09T02:48:40.785Z","updated_at":"2025-10-09T02:48:42.115Z","avatar_url":"https://github.com/archellir.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kibutsu-docker - Minimal Docker Management UI (Draft)\n\nKibutsu is a full-stack web application that provides a modern, real-time interface for managing Docker containers, images, and compose projects. Built with Go and SvelteKit, it offers a responsive and intuitive experience for Docker management.\n\n## Features\n\n### Container Management\n- Real-time container monitoring and stats\n- Start, stop, and restart containers\n- Live container logs with terminal emulation\n- Container health status and metrics\n\n### Image Management\n- List and search Docker images\n- Pull new images with progress tracking\n- Image history and details\n- Clean up unused images\n\n### Docker Compose\n- Manage multiple compose projects\n- Real-time project status monitoring\n- Service scaling and orchestration\n- Dependency-aware service management\n\n### System Monitoring\n- Real-time resource usage metrics\n- WebSocket-based live updates\n- System-wide Docker statistics\n- Disk usage monitoring\n\n## Technology Stack\n\n### Backend\n- Go 1.23+\n- Docker Engine API\n- WebSocket support\n- Middleware chain for security and logging\n- Context-aware request handling\n\n### Frontend\n- SvelteKit 2.x\n- TypeScript\n- TailwindCSS\n- XTerm.js for terminal support\n- Real-time stores with Svelte\n\n## Quick Start\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/yourusername/kibutsu.git\ncd kibutsu\n```\n2. Build the frontend:\n\n```bash\ncd frontend\npnpm install\npnpm run build\n```\n3. Build the backend:\n\n```bash\ngo build -o kibutsuapi\n```\n4. Run the application:\n\n```bash\n./kibutsuapi\n```\n5. Access the UI at `http://localhost:8080`\n\n## Development\n\n### Frontend Development\n\n```bash\ncd frontend\npnpm install\npnpm dev\n```\n\n### Backend Development\n\n```bash\ngo run main.go\n```\n\n### View development\n\nThe frontend will be available at `http://localhost:5173` with:\n- Hot module replacement\n- API proxy to backend\n- TypeScript checking\n- Tailwind CSS processing\n\nThe backend API will be available at `http://localhost:8080` with:\n- Auto API version negotiation\n- Graceful shutdown\n- Request ID tracking\n- CORS support\n- Structured logging\n\n## API Endpoints\n\n### Container Management\n- `GET /api/containers` - List containers\n- `POST /api/containers/{id}/start` - Start container\n- `POST /api/containers/{id}/stop` - Stop container\n- `GET /api/containers/{id}/logs` - Stream container logs\n- `GET /api/containers/{id}/stats` - Get container statistics\n\n### Image Management\n- `GET /api/images` - List images\n- `POST /api/images/pull` - Pull new image\n- `DELETE /api/images/{id}` - Remove image\n- `GET /api/images/{id}/history` - Get image history\n\n### Compose Operations\n- `GET /api/compose/projects` - List compose projects\n- `POST /api/compose/projects/{name}/up` - Start project\n- `POST /api/compose/projects/{name}/down` - Stop project\n\n### System Information\n- `GET /api/system/info` - Get system information\n- `GET /api/system/version` - Get Docker version\n- `GET /api/system/disk` - Get disk usage\n\n## Configuration\n\nThe application uses environment variables for configuration:\n\n```bash\nDOCKER_HOST=unix:///var/run/docker.sock # Docker daemon socket\nPORT=8080 # Server port\nCORS_ORIGIN=http://localhost:5173 # Allowed CORS origin\n```\n\n## Architecture\n\n### Frontend Store Management\n\nThe frontend uses Svelte's stores for state management. Stores are defined in `src/stores.ts` and used throughout the application.\n\n### Backend Request Handling\n\nThe backend handles requests using middleware chains. The main handler is `main.go`, which sets up the middleware and routes.\n\n### WebSocket Integration\n\nThe application uses WebSockets for live updates. The WebSocket server is implemented in `websocket.go`, which handles connections and broadcasts updates to connected clients.\n\n## Contributing\n\n1. Fork the repository\n2. Create your 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## License\n\nThis project is licensed under the MIT License.\n\n## Acknowledgments\n\n- Docker Engine API\n- SvelteKit team\n- XTerm.js contributors\n- TailwindCSS community\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchellir%2Fkibutsu-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchellir%2Fkibutsu-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchellir%2Fkibutsu-docker/lists"}