An open API service indexing awesome lists of open source software.

https://github.com/rogasp/nodepilot

Operator-focused control panel for self-hosted Linux servers and Docker environments
https://github.com/rogasp/nodepilot

docker filament infrastructure laravel observability self-hosting server-management

Last synced: 3 months ago
JSON representation

Operator-focused control panel for self-hosted Linux servers and Docker environments

Awesome Lists containing this project

README

          

# Nodepilot

Nodepilot is an operator-focused control panel for managing a small set of self-hosted Linux servers and Docker environments.

The v1 goal is to provide a secure, focused operator experience for:

- server inventory
- read-only server status
- Docker and Compose visibility
- a small set of whitelist-based actions
- complete audit logging

This project is intentionally not a general-purpose remote shell or a full Portainer replacement.

The repository is managed as a public, issue-driven, source-available project with documented contribution, release, maintenance, and commercial-use boundaries.

## Core Principles

- security-first design
- strict issue-driven delivery
- documentation as part of every deliverable
- automated verification through Laravel Sail

## Documentation

- Product plan: [docs/new-project.md](docs/new-project.md)
- Development workflow: [docs/development-workflow.md](docs/development-workflow.md)
- Licensing model: [docs/licensing-model.md](docs/licensing-model.md)
- Public repository readiness: [docs/public-repository-readiness.md](docs/public-repository-readiness.md)
- Release and governance: [docs/release-governance.md](docs/release-governance.md)
- Private development tunnel: [docs/private-dev-tunnel.md](docs/private-dev-tunnel.md)
- V1 hardening and operations: [docs/v1-hardening-and-operations.md](docs/v1-hardening-and-operations.md)
- Server inventory model: [docs/server-inventory.md](docs/server-inventory.md)
- Authorization model: [docs/authorization.md](docs/authorization.md)
- Audit log foundation: [docs/audit-log.md](docs/audit-log.md)
- Server resource: [docs/server-resource.md](docs/server-resource.md)
- SSH key management: [docs/ssh-keys.md](docs/ssh-keys.md)
- SSH execution abstraction: [docs/ssh-execution.md](docs/ssh-execution.md)
- SSH probe measurement: [docs/ssh-probe-measurement.md](docs/ssh-probe-measurement.md)
- Background refresh: [docs/background-refresh.md](docs/background-refresh.md)
- Refresh profiles: [docs/refresh-profiles.md](docs/refresh-profiles.md)
- Runtime telemetry push prototype: [docs/runtime-telemetry-agent.md](docs/runtime-telemetry-agent.md)
- Read-only status collection: [docs/read-only-status.md](docs/read-only-status.md)
- Server status snapshots: [docs/server-status-snapshots.md](docs/server-status-snapshots.md)
- Docker container snapshots: [docs/docker-container-snapshots.md](docs/docker-container-snapshots.md)
- Docker Compose projects: [docs/docker-projects.md](docs/docker-projects.md)
- Docker container actions: [docs/docker-container-actions.md](docs/docker-container-actions.md)
- Docker container logs: [docs/docker-container-logs.md](docs/docker-container-logs.md)

## Project Surfaces

- Contributing guide: [CONTRIBUTING.md](CONTRIBUTING.md)
- Security policy: [SECURITY.md](SECURITY.md)
- Support policy: [SUPPORT.md](SUPPORT.md)
- Code of conduct: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
- Community license: [LICENSE](LICENSE)
- Commercial licensing: [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md)

## Licensing

Nodepilot is source-available, not OSI open source.

- Self-hosted and internal use are allowed under the community terms in [LICENSE](LICENSE).
- Internal modification and organization-specific additions are allowed.
- Running Nodepilot as a third-party hosted or managed service requires a separate commercial license.
- The community license also sets a free-use cap of 100 managed servers per individual or legal entity.
- The software is provided without warranties or operational guarantees, and use of it is entirely at the user's own risk.

See [docs/licensing-model.md](docs/licensing-model.md) for the intended boundary between community use, commercial licensing, and responsibility.

## Local Development

Start the local environment with Sail:

```bash
./vendor/bin/sail up -d
```

This starts the web app together with dedicated `queue` and `scheduler` containers, so background refresh and other queued work continue running without manual terminal sessions.

Run the test suite with Sail:

```bash
./vendor/bin/sail artisan test --env=testing
```

Do not omit `--env=testing` in this repository.
That flag is required to force Laravel into the isolated testing environment instead of the local runtime configuration.

## Current Delivery Model

Work is planned and executed through GitHub issues.
Each issue must be implemented, documented, tested, pushed, and explicitly verified before it is closed.