{"id":33337640,"url":"https://github.com/karanhudia/borg-ui","last_synced_at":"2026-03-04T14:03:05.681Z","repository":{"id":318831094,"uuid":"1035797962","full_name":"karanhudia/borg-ui","owner":"karanhudia","description":"Replace complex Borg Backup terminal commands with a beautiful web UI. Create, schedule, and   restore backups with just a few clicks.","archived":false,"fork":false,"pushed_at":"2026-01-27T20:06:25.000Z","size":5696,"stargazers_count":933,"open_issues_count":44,"forks_count":19,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-27T21:08:46.464Z","etag":null,"topics":["automation","back","borg","borg-backup","borgbackup","borgbase","deduplication","docker","raspber","sbc","self-hosted","webapp"],"latest_commit_sha":null,"homepage":"https://karanhudia.github.io/borg-ui/","language":"Python","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/karanhudia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["karanhudia"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"karanhudia","thanks_dev":null,"custom":null}},"created_at":"2025-08-11T05:32:22.000Z","updated_at":"2026-01-27T20:06:04.000Z","dependencies_parsed_at":"2025-12-30T12:03:05.773Z","dependency_job_id":"396d57b0-8989-4c98-aee9-81ba971e456e","html_url":"https://github.com/karanhudia/borg-ui","commit_stats":null,"previous_names":["karanhudia/borg-ui"],"tags_count":108,"template":false,"template_full_name":null,"purl":"pkg:github/karanhudia/borg-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhudia%2Fborg-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhudia%2Fborg-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhudia%2Fborg-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhudia%2Fborg-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karanhudia","download_url":"https://codeload.github.com/karanhudia/borg-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhudia%2Fborg-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28884685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T19:55:09.949Z","status":"ssl_error","status_checked_at":"2026-01-29T19:55:08.490Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["automation","back","borg","borg-backup","borgbackup","borgbase","deduplication","docker","raspber","sbc","self-hosted","webapp"],"created_at":"2025-11-21T07:01:05.378Z","updated_at":"2026-02-17T12:11:12.373Z","avatar_url":"https://github.com/karanhudia.png","language":"Python","funding_links":["https://github.com/sponsors/karanhudia","https://buymeacoffee.com/karanhudia"],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"Borg UI\" width=\"300\" src=\"https://github.com/user-attachments/assets/69b9330f-81fc-47bd-8f11-672da6ac0d31\" /\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch5\u003e\n      \u003ca href=\"https://karanhudia.github.io/borg-ui\"\u003eDocumentation\u003c/a\u003e\n      \u003cspan\u003e | \u003c/span\u003e\n      \u003ca href=\"https://hub.docker.com/r/ainullcode/borg-ui\"\u003eDocker Hub\u003c/a\u003e\n      \u003cspan\u003e | \u003c/span\u003e\n      \u003ca href=\"https://discord.gg/5KfVa5QkdQ\"\u003eDiscord\u003c/a\u003e\n  \u003c/h5\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Docker Hub](https://img.shields.io/docker/pulls/ainullcode/borg-ui)](https://hub.docker.com/r/ainullcode/borg-ui)\n[![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL%203.0-blue.svg)](LICENSE)\n[![GitHub Actions](https://github.com/karanhudia/borg-ui/workflows/Build%20and%20Publish%20Docker%20Images/badge.svg)](https://github.com/karanhudia/borg-ui/actions)\n[![Tests](https://github.com/karanhudia/borg-ui/workflows/Tests/badge.svg)](https://github.com/karanhudia/borg-ui/actions/workflows/tests.yml)\n[![codecov](https://codecov.io/gh/karanhudia/borg-ui/branch/main/graph/badge.svg)](https://codecov.io/gh/karanhudia/borg-ui)\n[![Discord](https://img.shields.io/discord/1331215029498732686?color=5865F2\u0026logo=discord\u0026logoColor=white\u0026label=Discord)](https://discord.gg/5KfVa5QkdQ)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cstrong\u003eA modern web interface for \u003ca href=\"https://borgbackup.readthedocs.io/\"\u003eBorg Backup\u003c/a\u003e\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    Zero-configuration deployment - just run and go.\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003e [!NOTE]\n\u003e This project uses [Claude Code](https://claude.ai/code) as a development assistant. I'm a full-stack developer with 10+ years of experience, and I personally review all AI-generated code before merging. Architecture decisions, security practices, and testing are human-driven. Claude Code is acknowledged as a co-author in git commits. All code is open source for community review - your backups deserve scrutiny, and I encourage it.\n\n---\n\n## Features \u0026 Screenshots\n\n### Modern Dashboard\n\nMonitor all your repositories, backup status, and system metrics at a glance. View repository health, recent activity feed, storage usage, and quick access to common operations. Get a comprehensive overview of your entire backup infrastructure in one place.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"800\" alt=\"Modern Dashboard with activity monitoring\" src=\"https://github.com/user-attachments/assets/3e9c7ae6-1507-4fe1-8f8b-8231a458bca0\" /\u003e\n\u003c/div\u003e\n\n---\n\n### Live Backup Progress\n\nWatch your backups execute in real-time with detailed progress tracking. Monitor current file being processed, backup speed (MB/s), data statistics (original, compressed, deduplicated sizes), estimated time remaining, and overall completion percentage.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"800\" alt=\"Real-time backup progress with live metrics\" src=\"https://github.com/user-attachments/assets/de7e870a-2db9-4384-be71-59e8bdd67373\" /\u003e\n\u003c/div\u003e\n\n---\n\n### Repository Management\n\nCreate and manage repositories with support for local storage, SSH, and SFTP connections. Configure encryption (repokey, keyfile), compression algorithms (lz4, zstd, zlib, lzma, auto, obfuscate), source directories, exclude patterns, and custom borg flags. Import existing repositories or create new ones with step-by-step wizard.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"800\" alt=\"Repository details\" src=\"https://github.com/user-attachments/assets/bddfae3c-4bd6-473f-aa5e-5e2cf3d54f4b\" /\u003e\n  \u003cimg width=\"800\" alt=\"Create Repository Dialog\" src=\"https://github.com/user-attachments/assets/f6b56ebb-0edf-4910-98ba-53021a7bd4cd\" /\u003e\n\u003c/div\u003e\n\n---\n\n### Smart Notifications\n\nGet instant alerts for backup events via 100+ notification services powered by Apprise. Configure Email, Slack, Discord, Telegram, Pushover, Microsoft Teams, and many more. Set up per-repository notification preferences with customizable templates for backup start, success, failure, and warnings.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"800\" alt=\"Notification settings with 100+ integrations\" src=\"https://github.com/user-attachments/assets/1ae11394-d4d1-4fc8-b501-965dd5bc9743\" /\u003e\n\u003c/div\u003e\n\n---\n\n### Archive Browsing\n\nBrowse and restore files from any backup archive with 600x faster performance using Redis caching. Navigate through your backup history, preview file contents, and restore individual files or entire directories.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"800\" alt=\"Archive Browsing\" src=\"https://github.com/user-attachments/assets/5c42bb10-cfc4-468b-bfd3-bd403ba29516\" /\u003e\n\u003c/div\u003e\n\n---\n\n### Schedule Management\n\nCreate and manage automated backup schedules with visual cron builder. Configure multi-repository backups, set up pre/post scripts, enable automatic pruning and compacting, and track execution history with detailed logs.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"800\" alt=\"Create and View Schedule Tab\" src=\"https://github.com/user-attachments/assets/ab824ea3-afca-4872-85b9-77781e393b97\" /\u003e\n\u003c/div\u003e\n\n---\n\n## Key Features\n\n- **Backup Management** - Create, schedule, and monitor backups with live progress tracking\n- **Archive Browser** - Browse and restore files from any backup archive with Redis caching (600x faster for large repos)\n- **Repository Management** - Support for local, SSH, and SFTP repositories with multiple compression options\n- **Scheduling** - Visual cron job builder with execution history\n- **Pre/Post Backup Hooks** - Run custom scripts before/after backups (e.g., stop Docker containers, database dumps)\n- **Notifications** - Get alerts via 100+ services (Email, Slack, Discord, Telegram, Pushover, etc.)\n- **SSH Key Management** - Generate, import, and deploy SSH keys for remote repositories\n- **Real-time Monitoring** - Live backup progress, system metrics, and health checks\n- **Multi-platform** - Supports amd64, arm64, and armv7 architectures\n\n---\n\n## Getting Started\n\n**Installation is simple with Docker:**\n\n```bash\n# Pull and run\ndocker run -d \\\n  --name borg-web-ui \\\n  -p 8081:8081 \\\n  -v borg_data:/data \\\n  -v borg_cache:/home/borg/.cache/borg \\\n  -v /home/yourusername:/local:rw \\\n  ainullcode/borg-ui:latest\n```\n\nAccess at `http://localhost:8081` • Default credentials: `admin` / `admin123`\n\n**📖 [Installation Guide](https://karanhudia.github.io/borg-ui/installation)** - Complete setup with Docker Compose, Redis, Portainer, Unraid\n\n---\n\n## Documentation\n\n**[📚 Full Documentation](https://karanhudia.github.io/borg-ui)** - Complete guides and tutorials\n\nQuick links:\n- [Installation Guide](https://karanhudia.github.io/borg-ui/installation) - Detailed setup for all platforms\n- [Configuration Guide](https://karanhudia.github.io/borg-ui/configuration) - Environment variables and customization\n- [Usage Guide](https://karanhudia.github.io/borg-ui/usage-guide) - Creating your first backup\n- [Notifications Setup](https://karanhudia.github.io/borg-ui/notifications) - Email, Slack, Discord alerts\n- [SSH Keys Guide](https://karanhudia.github.io/borg-ui/ssh-keys) - Remote backup setup\n- [Security Guide](https://karanhudia.github.io/borg-ui/security) - Best practices\n\n---\n\n## Support\n\n- **Discord**: [Join our community](https://discord.gg/5KfVa5QkdQ) - Get help, share your setup, suggest features\n- **Documentation**: [Full Documentation](https://karanhudia.github.io/borg-ui)\n- **Bug Reports**: [GitHub Issues](https://github.com/karanhudia/borg-ui/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/karanhudia/borg-ui/discussions)\n\n---\n\n## Contributing\n\nWant to help improve Borg Web UI? See our [Contributing Guide](.github/CONTRIBUTING.md) and [Development Guide](https://karanhudia.github.io/borg-ui/development) to get started.\n\n---\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nBuilt with [Borg Backup](https://borgbackup.readthedocs.io/), [FastAPI](https://fastapi.tiangolo.com/), [React](https://react.dev/), and [Material-UI](https://mui.com/)\n\nMade with ❤️ by [Karan Hudia](https://github.com/karanhudia)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaranhudia%2Fborg-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaranhudia%2Fborg-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaranhudia%2Fborg-ui/lists"}