{"id":48823230,"url":"https://github.com/rogasp/nodepilot","last_synced_at":"2026-04-14T16:02:36.593Z","repository":{"id":350755575,"uuid":"1202364884","full_name":"rogasp/nodepilot","owner":"rogasp","description":"Operator-focused control panel for self-hosted Linux servers and Docker environments","archived":false,"fork":false,"pushed_at":"2026-04-11T23:39:25.000Z","size":2572,"stargazers_count":0,"open_issues_count":16,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T00:19:01.897Z","etag":null,"topics":["docker","filament","infrastructure","laravel","observability","self-hosting","server-management"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rogasp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","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":"2026-04-06T00:09:44.000Z","updated_at":"2026-04-11T23:39:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rogasp/nodepilot","commit_stats":null,"previous_names":["rogasp/nodepilot"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rogasp/nodepilot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogasp%2Fnodepilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogasp%2Fnodepilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogasp%2Fnodepilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogasp%2Fnodepilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rogasp","download_url":"https://codeload.github.com/rogasp/nodepilot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogasp%2Fnodepilot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31803790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"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":["docker","filament","infrastructure","laravel","observability","self-hosting","server-management"],"created_at":"2026-04-14T16:02:34.981Z","updated_at":"2026-04-14T16:02:36.587Z","avatar_url":"https://github.com/rogasp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nodepilot\n\nNodepilot is an operator-focused control panel for managing a small set of self-hosted Linux servers and Docker environments.\n\nThe v1 goal is to provide a secure, focused operator experience for:\n\n- server inventory\n- read-only server status\n- Docker and Compose visibility\n- a small set of whitelist-based actions\n- complete audit logging\n\nThis project is intentionally not a general-purpose remote shell or a full Portainer replacement.\n\nThe repository is managed as a public, issue-driven, source-available project with documented contribution, release, maintenance, and commercial-use boundaries.\n\n## Core Principles\n\n- security-first design\n- strict issue-driven delivery\n- documentation as part of every deliverable\n- automated verification through Laravel Sail\n\n## Documentation\n\n- Product plan: [docs/new-project.md](docs/new-project.md)\n- Development workflow: [docs/development-workflow.md](docs/development-workflow.md)\n- Licensing model: [docs/licensing-model.md](docs/licensing-model.md)\n- Public repository readiness: [docs/public-repository-readiness.md](docs/public-repository-readiness.md)\n- Release and governance: [docs/release-governance.md](docs/release-governance.md)\n- Private development tunnel: [docs/private-dev-tunnel.md](docs/private-dev-tunnel.md)\n- V1 hardening and operations: [docs/v1-hardening-and-operations.md](docs/v1-hardening-and-operations.md)\n- Server inventory model: [docs/server-inventory.md](docs/server-inventory.md)\n- Authorization model: [docs/authorization.md](docs/authorization.md)\n- Audit log foundation: [docs/audit-log.md](docs/audit-log.md)\n- Server resource: [docs/server-resource.md](docs/server-resource.md)\n- SSH key management: [docs/ssh-keys.md](docs/ssh-keys.md)\n- SSH execution abstraction: [docs/ssh-execution.md](docs/ssh-execution.md)\n- SSH probe measurement: [docs/ssh-probe-measurement.md](docs/ssh-probe-measurement.md)\n- Background refresh: [docs/background-refresh.md](docs/background-refresh.md)\n- Refresh profiles: [docs/refresh-profiles.md](docs/refresh-profiles.md)\n- Runtime telemetry push prototype: [docs/runtime-telemetry-agent.md](docs/runtime-telemetry-agent.md)\n- Read-only status collection: [docs/read-only-status.md](docs/read-only-status.md)\n- Server status snapshots: [docs/server-status-snapshots.md](docs/server-status-snapshots.md)\n- Docker container snapshots: [docs/docker-container-snapshots.md](docs/docker-container-snapshots.md)\n- Docker Compose projects: [docs/docker-projects.md](docs/docker-projects.md)\n- Docker container actions: [docs/docker-container-actions.md](docs/docker-container-actions.md)\n- Docker container logs: [docs/docker-container-logs.md](docs/docker-container-logs.md)\n\n## Project Surfaces\n\n- Contributing guide: [CONTRIBUTING.md](CONTRIBUTING.md)\n- Security policy: [SECURITY.md](SECURITY.md)\n- Support policy: [SUPPORT.md](SUPPORT.md)\n- Code of conduct: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)\n- Community license: [LICENSE](LICENSE)\n- Commercial licensing: [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md)\n\n## Licensing\n\nNodepilot is source-available, not OSI open source.\n\n- Self-hosted and internal use are allowed under the community terms in [LICENSE](LICENSE).\n- Internal modification and organization-specific additions are allowed.\n- Running Nodepilot as a third-party hosted or managed service requires a separate commercial license.\n- The community license also sets a free-use cap of 100 managed servers per individual or legal entity.\n- The software is provided without warranties or operational guarantees, and use of it is entirely at the user's own risk.\n\nSee [docs/licensing-model.md](docs/licensing-model.md) for the intended boundary between community use, commercial licensing, and responsibility.\n\n## Local Development\n\nStart the local environment with Sail:\n\n```bash\n./vendor/bin/sail up -d\n```\n\nThis starts the web app together with dedicated `queue` and `scheduler` containers, so background refresh and other queued work continue running without manual terminal sessions.\n\nRun the test suite with Sail:\n\n```bash\n./vendor/bin/sail artisan test --env=testing\n```\n\nDo not omit `--env=testing` in this repository.\nThat flag is required to force Laravel into the isolated testing environment instead of the local runtime configuration.\n\n## Current Delivery Model\n\nWork is planned and executed through GitHub issues.\nEach issue must be implemented, documented, tested, pushed, and explicitly verified before it is closed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogasp%2Fnodepilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frogasp%2Fnodepilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogasp%2Fnodepilot/lists"}