pi_dashboard.server

Pi Dashboard server module.

Classes

PiDashboardServer([config])

Pi Dashboard FastAPI server.

class pi_dashboard.server.PiDashboardServer(config=None)[source]

Pi Dashboard FastAPI server.

__init__(config=None)[source]

Initialize the PiDashboardServer.

Parameters:

config (PiDashboardConfig | None) – Optional pre-loaded configuration

lifespan(app)[source]

Handle application lifespan events.

Return type:

AsyncGenerator[None]

validate_config(config_data)[source]

Validate configuration data against the PiDashboardConfig model.

Parameters:

config_data (dict) – The configuration data to validate

Return PiDashboardConfig:

The validated configuration model

Return type:

PiDashboardConfig

setup_routes()[source]

Set up API routes.

Return type:

None

async get_system_info(request)[source]

Get system information.

Return GetSystemInfoResponse:

The system information response model

Return type:

GetSystemInfoResponse

async get_system_metrics(request)[source]

Get system metrics.

Return GetSystemMetricsResponse:

The system metrics response model

Return type:

GetSystemMetricsResponse

async get_system_metrics_history(request)[source]

Get system metrics history.

Return GetSystemMetricsHistoryResponse:

The system metrics history response model

Return type:

GetSystemMetricsHistoryResponse

async get_notes(request)[source]

Get all note entries.

Return NotesListResponse:

Response containing list of note entries

Return type:

NotesListResponse

async perform_note_action(request, body)[source]

Perform a note action (create/update/delete).

Parameters:

body (NotesActionRequest) – The note action request containing the action and note entry data

Return NotesActionResponse:

Response indicating success or failure of the note action

Return type:

NotesActionResponse

async list_containers(request)[source]

List all Docker containers.

Return DockerContainerListResponse:

Response containing list of containers

Return type:

DockerContainerListResponse

async refresh_containers(request)[source]

Refresh container list from Docker daemon.

Return DockerContainerListResponse:

Response containing refreshed list of containers

Return type:

DockerContainerListResponse

async start_container(request, container_id)[source]

Start a Docker container.

Parameters:

container_id (str) – The container ID to start

Return DockerContainerActionResponse:

Response indicating success or failure

Return type:

DockerContainerActionResponse

async stop_container(request, container_id)[source]

Stop a Docker container.

Parameters:

container_id (str) – The container ID to stop

Return DockerContainerActionResponse:

Response indicating success or failure

Return type:

DockerContainerActionResponse

async restart_container(request, container_id)[source]

Restart a Docker container.

Parameters:

container_id (str) – The container ID to restart

Return DockerContainerActionResponse:

Response indicating success or failure

Return type:

DockerContainerActionResponse

async update_container(request, container_id)[source]

Update a Docker container by pulling latest image and recreating it.

Parameters:

container_id (str) – The container ID to update

Return DockerContainerActionResponse:

Response indicating success or failure

Return type:

DockerContainerActionResponse

async get_container_logs(request, container_id, lines)[source]

Get logs for a Docker container.

Parameters:
  • container_id (str) – The container ID

  • lines (int) – Number of log lines to retrieve (1-1000)

Return DockerContainerLogsResponse:

Response containing log lines

Return type:

DockerContainerLogsResponse