Documentation

Admin Guide

Platform administration: manage organizations, servers, services, billing, and operations.

Overview

The administration panel is the control center for managing all organizations, infrastructure, services, and billing across the platform. Access it via the Administration link in your user menu.

Platform Roles

Platform roles determine who can access the administration panel and what they can do:

RoleAccess
OwnerFull access. Assigns platform roles, manages all organizations and billing.
OperatorOperations and support. Manages organization members, handles feedback.
DeveloperRead-only access for debugging. Views dashboards, metrics, and feedback.
UserDefault role. No access to the administration panel.

Dashboard

The admin dashboard displays key performance indicators at a glance: total organizations, monthly recurring revenue (MRR), active services, open orders, server health, and recent activity. Top customers are ranked by revenue.

Organizations

Managing Organizations

The organizations overview lists all customer organizations with member counts, active services, and contract status. Click an organization to see its details: contract, workspaces, services, invoices, and members.

  • View and edit organization details and billing address.
  • Manage the active contract (plan, pricing, limits, custom terms).
  • View all invoices and payment history per organization.
  • Assign servers to the organization.

Members

The members section shows all users across the platform. You can search by name or email, filter by platform role, and view member details including their organization memberships and activity history.

Infrastructure

Servers

Servers represent the physical or virtual infrastructure running customer services. Servers can have parent-child relationships (e.g. a Proxmox host with VMs). Each server tracks live metrics: CPU, memory, disk, and network usage.

  • Create servers with provider, location, IP, and specs.
  • Assign servers to organizations and workspaces.
  • View real-time metrics, event logs, and disk usage per server.
  • Track sync status and connection health.

Connections

Connections link your servers to external infrastructure providers for automatic metric synchronization and container discovery.

ProviderPurpose
ProxmoxVM and container management. Discovers nodes and VMs, syncs status and metrics.
BeszelServer monitoring agent. Collects host and container metrics in real-time.
HetznerCloud API integration. Server provisioning and status tracking.

After creating a connection, use the "Test" button to verify API access. Then add datasources to link individual servers to the connection for metric synchronization.

Containers

Docker containers running on servers are automatically discovered during sync. Each container tracks its status (running, stopped, paused, exited), CPU, memory, disk, and network usage. Containers can be linked to services to enable lifecycle control and health monitoring.

Services

Service Catalog

The service catalog defines what customers can book. Each catalog item has a name, description, size category (S/M/L), monthly price, estimated storage, setup time, and an icon. Items can be toggled between bookable and non-bookable.

Every catalog item must also be linked to a service category (Communication, Productivity, Security, and so on). The category drives the customer-facing catalog filter, the workspace setup checklist and the workspace network view. Save is blocked until a category is selected.

If a category you need does not exist yet, create it first under Categories & Checklists, then come back to the catalog editor.

Service Instances

Service instances are individual deployments booked by customers. Each instance is linked to a workspace, a catalog item, and optionally to containers on servers. You can manage credentials, technical notes, and logbook entries per service.

  • Container Linking Link Docker containers to a service with roles (application, database) and a primary flag.
  • Actions Start, stop, and restart the primary containers of a service.
  • Logbook Add customer-visible or internal notes about status changes and maintenance.

Status & Monitoring

Each service has a status that reflects its operational state. The status is updated automatically by the server sync worker when container health changes, or manually by an admin.

StatusDescription
OnlineService is running normally.
ProvisioningService is being set up.
MaintenancePlanned maintenance in progress.
DisruptionPartial outage or degraded performance.
IncidentMajor outage.
SuspendedTemporarily blocked by admin.
DecommissionedPermanently shut down. Not billable. Terminal state.

The uptime chart on the service detail page shows daily availability over the last 7, 14, or 30 days. Live container health is displayed alongside the status badge.

Categories & Checklists

Service categories, category relations, workspace purposes and checklists are the master data that connects the catalog, the customer setup checklist and the workspace network view. Everything is editable from the administration panel without a code release.

Service Categories

A service category groups offerings under a shared label (Communication, Productivity, Security, Backup, and so on). Each category has a slug, name, description, icon, color hint and display order. The same category is used in three places:

  • Catalog filter on the customer side (every catalog item is linked to exactly one category).
  • Workspace setup checklist (each checklist item belongs to exactly one category; status is derived from the workspace's services in that category).
  • Workspace network view (edges are derived from category-to-category relations).

Manage categories at /administration/categories. The detail page shows which catalog items, checklists and relations reference the category, so you can see what depends on it before changing anything. Categories cannot be deleted while catalog items still reference them.

Category Relations

Category relations are the rules that turn into edges on the workspace network view. Each relation has a source category, a target category (or a wildcard meaning "every other category"), a type, a label and a default state.

TypeArrow directionExample rule
ProtectsSource → TargetBackup → any service.
Reachable atSource → TargetDomain → Web presence or Commerce.
AuthenticatesSource → TargetSecurity → any service ("Login via").
Data sourceSource → TargetAutomation → Productivity ("reads/writes files").
Integrates withSource → TargetAutomation → Commerce ("connected to").

Default state decides how the edge is drawn for customers without manual intervention:

  • Active The relation is drawn solid. Use this when the relationship is automatically true whenever both sides exist (for example, a backup always protects the services in its workspace).
  • Available The relation is drawn faded. Use this when the relationship is possible but not automatic (for example, an automation could integrate with a shop, but only if explicitly wired up).
Wildcards keep the matrix small. A single row like "Backup → wildcard, protects, active" expresses "Backup protects every other category" without needing one row per target.

Manage the matrix at /administration/categories/relations.

Workspace Purposes

A workspace purpose describes what a customer's workspace is for: Office, Online Shop, Accounting, Agency, Freelancer, IT team, or General. Customers pick a purpose when creating a workspace; the purpose decides which checklists their workspace will see beyond the default ones.

Manage purposes at /administration/checklists/purposes. Each purpose has a slug, name, description and icon. The pivot column shows which checklists are attached to it; you can attach or detach checklists from the checklist editor.

Checklists & Items

A checklist is a reusable bundle of items that together describe what a workspace typically needs. A checklist can be marked as default (it applies to every workspace) or attached to one or more purposes via a multi-select.

  • Default checklists The basic setup applies to every workspace, regardless of purpose. Use this for items that everybody needs (e.g. business email, cloud storage).
  • Purpose-linked checklists Add purpose-specific items on top. For example, the "E-Commerce essentials" checklist is linked to the Online Shop purpose and only appears for those workspaces.
  • Checklist items Each item has a slug, name, description and one category. The category is mandatory; the customer-side status is derived from the workspace's services in that category.

Manage checklists at /administration/checklists. Adding or renaming an item takes effect immediately for all workspaces that see the checklist - there is no versioning. Removing or recategorising an item changes the next checklist render for affected workspaces.

Customer overrides (External, Not needed) are keyed by item slug. If you rename an item's slug, existing overrides on that item are no longer matched. Prefer editing the name and keeping the slug stable.

Workspace Network

Operators can open the workspace network view for any customer workspace at /administration/workspaces/[workspaceId]/network. The view is the same canvas customers see; use it to pre-arrange a topology during onboarding, draw annotations, or debug a layout issue without leaving the admin panel.

The administration services dashboard also embeds a read-only preview of the chosen workspace's network for at-a-glance context. The full canvas, with drag and connection editing, lives at the per-workspace URL above.

Most of what the customer sees is derived: edges come from the category relation matrix (see "Category Relations"), node positions and manual connections persist per workspace. Changing a category relation affects every workspace that has services in those categories.

Billing

Contracts & Plans

Each organization has one active contract that defines their plan, monthly base fee, included resources (users, storage, support hours), and hourly rate for billable orders. Plan templates define the standard tiers (Free, Basis, Premium) with configurable limits.

  • Plan Transitions Schedule a plan change for the next billing day. The old contract is replaced and a new invoice is generated on the new plan.
  • Custom Terms Override template values with individual pricing for specific customers.

Invoicing

Invoices are generated automatically on each organization's billing day. They include the base fee, active services (prepayment), billable orders from the previous period (arrears), and storage overages. Tax is calculated at 19% (German VAT).

You can also create invoices manually for one-off charges. The system validates that amounts are computed server-side from quantity and unit price.

For detailed billing logic, see the internal billing documentation which covers proration, allowance deductions, and the complete billing cycle.

Payments

Payments can be recorded against invoices with various methods (Stripe, bank transfer, manual). When the total payments match or exceed the invoice gross amount, the invoice is automatically marked as paid.

Billing Cycle

The billing cycle is tied to the organization's creation date. If created on the 7th, billing runs on the 7th of each month. The daily billing job runs at 06:00 UTC and processes all organizations whose billing day matches. A catch-up mechanism handles missed billing days.

Operations

Orders & Processes

The admin orders view shows all orders across all organizations. You can create orders, assign them to services, link processes, and track time. Process templates can be managed under Templates for reuse across organizations.

Alerts & Feedback

Alerts reported by customers appear in the alerts section with priority levels and preset labels (Service unavailable, Login issues, etc.). You can create support orders from alerts for structured follow-up. User feedback is collected separately and can be marked as reviewed.

Background Jobs

The platform runs scheduled background jobs via BullMQ with Redis. The Bull Board dashboard at /administration/bull-board shows the status, history, and metrics of all jobs. Failed jobs are retried up to 3 times with exponential backoff.

JobScheduleDescription
Daily TrafficDaily at 00:05 UTCCreates daily storage usage snapshots for all organizations.
Monthly Reset1st of month at 00:00 UTCResets monthly traffic counters and usage metrics.
Daily BillingDaily at 06:00 UTCGenerates invoices for organizations with active contracts due for billing.
Overdue CheckDaily at 07:00 UTCChecks for overdue invoices and updates their status accordingly.
Server SyncEvery 60 secondsSynchronizes server metrics (CPU, RAM, disk) from connected monitoring systems.
Metrics CleanupDaily at 04:00 UTCRemoves old server metrics data beyond the retention period.
Cleanup SnapshotsSundays at 03:00 UTCDeletes storage snapshots older than the configured retention period.
Webhook CleanupDaily at 03:00 UTCRemoves processed webhook events older than the retention window.
Service DecommissionDaily at 01:00 UTCProcesses scheduled service decommissions and updates service status.
Storage CleanupSundays at 04:00 UTCFinds and deletes orphaned files in S3 storage that have no database reference. Covers user avatars, organization/workspace avatars, service icons, and news images. Uses a 24-hour grace period to protect files from active uploads.
The Storage Cleanup job runs in dry-run mode when triggered manually via Bull Board, logging orphaned files without deleting them. Scheduled runs perform actual deletion. This can be configured via the job data parameters.

Settings

Platform settings configure global properties: company information (name, address, legal form), tax settings (VAT rate, Kleinunternehmer exemption), and bank details for invoice generation. Role definitions and their capabilities are viewable under the Roles section.