Release 1.0.0 with server info console

This commit is contained in:
Artem Kokos
2026-05-21 20:46:04 +07:00
parent 85c840ba1b
commit 61b21c63ea
12 changed files with 766 additions and 5 deletions

22
app/api/routes/system.py Normal file
View File

@@ -0,0 +1,22 @@
from fastapi import APIRouter, Depends, Request
from app.api.deps import AuthContext, verify_token
from app.api.schemas import ServerInfoResponse
from app.core.server_info import build_server_info
router = APIRouter(dependencies=[Depends(verify_token)])
@router.get(
"/info",
response_model=ServerInfoResponse,
response_model_exclude_none=True,
)
async def get_system_info(
request: Request,
auth: AuthContext = Depends(verify_token),
):
return build_server_info(
observed_base_url=str(request.base_url),
include_diagnostics=auth.is_admin,
)

View File

@@ -178,3 +178,35 @@ class RescanResponse(BaseModel):
removed_offline: int
pending_removal: int
online: int
class ServerBuildInfoResponse(BaseModel):
version: str | None = None
git_sha: str | None = None
build_date: str | None = None
class ServerUrlInfoResponse(BaseModel):
observed_base_url: str | None = None
configured_public_base_url: str | None = None
effective_public_base_url: str | None = None
class ServerConfigurationStatusResponse(BaseModel):
configured: bool
master_key_configured: bool
scan_network_configured: bool
public_base_url_configured: bool
build_metadata_complete: bool
class ServerInfoResponse(BaseModel):
app_name: str
instance_name: str | None = None
timezone: str | None = None
uptime_seconds: int
diagnostics_visible: bool
started_at: str | None = None
build: ServerBuildInfoResponse | None = None
urls: ServerUrlInfoResponse | None = None
configuration: ServerConfigurationStatusResponse | None = None