{"id":44274800,"url":"https://github.com/alibahmanyar/simon","last_synced_at":"2026-02-10T20:19:21.119Z","repository":{"id":284289376,"uuid":"952096867","full_name":"alibahmanyar/simon","owner":"alibahmanyar","description":"Minimal, web-based system monitor with Docker support, live metrics, alerts, and a built-in file browser—all bundled into a single binary","archived":false,"fork":false,"pushed_at":"2026-02-09T09:55:18.000Z","size":15829,"stargazers_count":148,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-09T12:29:56.228Z","etag":null,"topics":["alerting","docker","docker-monitoring","embedded-linux","file-browser","lightweight","low-memory","monitoring","rust","self-hosted","single-binary","system-metrics","web-based"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alibahmanyar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-20T18:16:50.000Z","updated_at":"2026-02-09T09:55:22.000Z","dependencies_parsed_at":"2025-03-25T06:35:57.107Z","dependency_job_id":null,"html_url":"https://github.com/alibahmanyar/simon","commit_stats":null,"previous_names":["alibahmanyar/simon"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/alibahmanyar/simon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibahmanyar%2Fsimon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibahmanyar%2Fsimon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibahmanyar%2Fsimon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibahmanyar%2Fsimon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibahmanyar","download_url":"https://codeload.github.com/alibahmanyar/simon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibahmanyar%2Fsimon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29314704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T17:48:59.043Z","status":"ssl_error","status_checked_at":"2026-02-10T17:45:37.240Z","response_time":65,"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":["alerting","docker","docker-monitoring","embedded-linux","file-browser","lightweight","low-memory","monitoring","rust","self-hosted","single-binary","system-metrics","web-based"],"created_at":"2026-02-10T20:19:18.312Z","updated_at":"2026-02-10T20:19:21.109Z","avatar_url":"https://github.com/alibahmanyar.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simon\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/d9214875-d2e5-4a00-8688-e2d435409d7b\" width=\"192\" height=\"192\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/alibahmanyar/simon/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alibahmanyar/simon?style=for-the-badge\" alt=\"Latest Release\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/alibahmanyar/simon/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/alibahmanyar/simon/ci.yml?style=for-the-badge\" alt=\"Build Status\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://hub.docker.com/r/alibahmanyar/simon\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/alibahmanyar/simon?style=for-the-badge\" alt=\"Docker Pulls\"/\u003e\u003c/a\u003e\n\u003cimg alt=\"Docker Image Size\" src=\"https://img.shields.io/docker/image-size/alibahmanyar/simon?style=for-the-badge\u0026label=Docker%20image%20size\"\u003e\n\u003ca href=\"https://github.com/alibahmanyar/simon/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/alibahmanyar/simon?style=for-the-badge\" alt=\"License\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n\u003cp align=\"center\"\u003e\n\u003cstrong\u003eA lightweight, all-in-one system monitor with Docker support, live metrics, alerts, and full file management\u003c/strong\u003e\n\u003cbr /\u003e\nIt's a single, dependency-free binary written in Rust, designed for resource-constrained environments like embedded Linux systems\n\u003c/p\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/simon.gif\" alt=\"Simon Demo - Live system monitoring interface\" width=\"800\"\u003e\n  \u003cbr\u003e\n  \u003cem\u003eReal-time monitoring, Docker integration, file browsing, and alert management - all in one interface\u003c/em\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"docs/SCREENSHOTS.md\"\u003e\u003cstrong\u003eView All Screenshots\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Table of Contents\n\n- [Features](#features)\n- [Quick Start](#quick-start)\n- [Documentation](#documentation)\n- [Building from Source](#building-from-source)\n- [Gallery](#gallery)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n\n\n## Features\n\n### 🪶 Lightweight\n- **Written in Rust:** For a memory-safe, high-performance core\n- **Single Binary:** A self-contained executable with no external dependencies to install or manage\n- **Minimal resource footprint** - Perfect for embedded systems and low-power devices\n\n### 📊 System Monitoring\n- **Real-time metrics** - Live tracking of CPU, memory, disk usage, disk I/O, and network activity\n- **Historical data** - Visualize trends with interactive charts\n- **Cross-platform** - Runs on Linux, Windows, Android, and FreeBSD\n- **Multi-architecture** - Native support for x86_64, i686, aarch64, and armv7\n\n### 🐳 Docker Integration\n- **Container monitoring** - Track resource usage for all running containers\n- **Log viewer** - Access and search container logs directly from the web interface\n- **Real-time stats** - Per-container CPU and memory metrics\n\n### 📁 File Browser \u0026 Management\n- **Filesystem navigation** - Browse and explore directories through the web UI\n- **File viewer** - Preview file contents directly in your browser\n- **File uploads** - Upload files with drag-and-drop support\n- **File operations** - Create folders, move files, delete items\n- **File downloads** - Range request support for resumable downloads and media streaming\n\n### 🔔 Alerting System\n- **Flexible alerts** - Set custom thresholds for CPU, memory, disk, and network\n- **Multiple channels** - Send notifications via Telegram, ntfy, or custom webhooks\n- **Templates** - Pre-configured notification templates for quick setup\n\n\n\n## Quick Start\n\n### Option 1: Prebuilt Binary\n\nDownload the latest release for your platform from the [Releases](https://github.com/alibahmanyar/simon/releases) page and run:\n\n```bash\nchmod +x simon\n./simon\n```\n\nThe web interface will be available at `http://localhost:30000`\n\n**To enable file browsing**, use either environment variable or CLI flag:\n\n```bash\n# Using environment variable\nexport SIMON_SERVE_DIRS=\"/path/to/dir1,/path/to/dir2\"\n./simon\n\n# Using CLI flags (can specify multiple directories)\n./simon --serve-dir /path/to/dir1 --serve-dir /path/to/dir2\n\n# Custom port and bind address\n./simon --port 8080 --address 127.0.0.1 --serve-dir /home --serve-dir /var/log\n```\n\n### Option 2: Docker\n\n```bash\ndocker run -d \\\n  --name simon \\\n  -p 30000:30000 \\\n  -v /sys:/sys:ro \\\n  -v /var/run/docker.sock:/var/run/docker.sock:ro \\\n  -v /:/fs:ro \\\n  -v ./simon-data:/app/simon-data \\\n  alibahmanyar/simon\n```\n\n**To enable file browsing**, add the `SIMON_SERVE_DIRS` environment variable:\n\n```bash\n-e SIMON_SERVE_DIRS=\"/fs/home,/fs/var/log\"\n```\n\n### Option 3: Docker Compose\n\n```yaml\nservices:\n  simon:\n    image: alibahmanyar/simon\n    hostname: simon\n    ports:\n      - \"30000:30000\"\n    environment:\n      SIMON_PASSWORD_HASH: \"$$2a$$12$$nmCGsgJ3ovx76sc/J8Bcs.Vn235KLQK7Cze83Kzm36a1v59QKVOO.\"\n    volumes:\n      - /sys:/sys:ro\n      - /var/run/docker.sock:/var/run/docker.sock:ro\n      - /:/fs:ro\n      - ./simon-data:/app/simon-data\n```\n\nRun with: `docker-compose up -d`\n\n\u003e **Note:** The default password for the example hash is `secret`. See [Authentication](docs/SETUP.md#authentication) for instructions on generating your own secure hash.\n\n**To enable file browsing**, add `SIMON_SERVE_DIRS` to the environment section:\n\n```yaml\nenvironment:\n  SIMON_SERVE_DIRS: \"/fs/home,/fs/var/log\"\n```\n\n---\n\n## Documentation\n\nComprehensive documentation is available in the `docs/` directory:\n\n- **[Setup Guide](docs/SETUP.md)** - Installation methods, Docker configuration, reverse proxy setup, and authentication\n- **[Configuration Reference](docs/CONFIGURATION.md)** - Complete list of configuration options and environment variables\n- **[Alerts and Notifications](docs/ALERTS.md)** - Setting up alerts, notification methods, and notification templates\n\n### Key Configuration Options\n\n| Option | CLI Flag | Environment Variable | Default | Description |\n|--------|----------|---------------------|---------|-------------|\n| Address | `-a`, `--address` | `SIMON_ADDRESS` | `0.0.0.0` | Network address to bind the server to |\n| Port | `-p`, `--port` | `SIMON_PORT` | `30000` | Server port |\n| Update Interval | `-T`, `--update-interval` | `SIMON_UPDATE_INTERVAL` | `2` | Metrics refresh interval (seconds) |\n| Password Hash | `-H`, `--password-hash` | `SIMON_PASSWORD_HASH` | None | Bcrypt hash for authentication |\n| Database Path | `--db-path` | `SIMON_DB_PATH` | `./simon-data/simon.db` | SQLite database location |\n| Serve Directories | `--serve-dir` | `SIMON_SERVE_DIRS` | None | Directories for file browser (use flag multiple times or comma-separated env var) |\n\nSee the [Configuration Reference](docs/CONFIGURATION.md) for all available options.\n\n\n## Building from Source\n\nSimon consists of a Rust backend and a Svelte-based web frontend.\n\n### Prerequisites\n\n- [Rust toolchain](https://rustup.rs/) (latest stable)\n- [Bun](https://bun.sh/docs/installation) (for building the web frontend)\n\n### Build Steps\n\n```bash\n# Clone the repository\ngit clone https://github.com/alibahmanyar/simon.git\ncd simon\n\n# Setup and build web frontend\nmake web-setup\nmake web\n\n# Build Simon\nmake release\n```\n\n---\n\n## Gallery\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/screenshots/system.png\" alt=\"System Dashboard\" width=\"45%\"\u003e\n  \u003cimg src=\"docs/media/screenshots/network.png\" alt=\"Network Stats\" width=\"45%\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"docs/media/screenshots/docker.png\" alt=\"Docker Integration\" width=\"45%\"\u003e\n  \u003cimg src=\"docs/media/screenshots/alerts.png\" alt=\"Alerts \u0026 Notifications\" width=\"45%\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"docs/SCREENSHOTS.md\"\u003e\u003cstrong\u003eView All Screenshots →\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues, feature requests, or pull requests.\n\n## Acknowledgments\n\nSimon is built on top of excellent open-source projects:\n\n**Backend (Rust)**\n- [axum](https://github.com/tokio-rs/axum) - Web framework\n- [sysinfo](https://github.com/GuillaumeGomez/sysinfo) - System information\n- [bollard](https://github.com/fussybeaver/bollard) - Docker API client\n- [tokio](https://tokio.rs/) - Async runtime\n- [rusqlite](https://github.com/rusqlite/rusqlite) - SQLite interface\n\n**Frontend**\n- [Svelte](https://svelte.dev/) - UI framework\n- [SvelteKit](https://kit.svelte.dev/) - Application framework\n- [Chart.js](https://www.chartjs.org/) - Data visualization\n- [Bun](https://bun.sh/) - Build tooling\n\nThank you to all the contributors and maintainers of these projects!\n\n---\n\n**Happy Monitoring!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibahmanyar%2Fsimon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibahmanyar%2Fsimon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibahmanyar%2Fsimon/lists"}