Files
ServerKit/builtin-extensions/serverkit-mail/plugin.json
T
Juan DenisandClaude Opus 4.8 dcde6ab64a fix(extensions): gate GPU auto-install on a present GPU; purge em dashes from manifests
Move serverkit-gpu from CONVERTED_BUILTIN_SLUGS into GATED_BUILTIN_SLUGS behind
a _gpu_present() predicate (shutil.which('nvidia-smi')), mirroring the email
gate: fresh installs stay marketplace-only, upgraded panels without a GPU no
longer get it, upgraded panels with a GPU keep it (D3 continuity). Rewrite the
12 builtin + baked extension descriptions that used em dashes into plain
sentences, keeping every pair in sync. New test_extension_manifests.py walks
both manifest trees to assert no em/en dashes and per-slug description parity.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 23:12:48 -04:00

54 lines
2.0 KiB
JSON

{
"name": "serverkit-mail",
"display_name": "Mail Server",
"version": "1.0.0",
"description": "Self-hosted mail server powered by Stalwart in a managed Docker container, providing domains, mailboxes, forwarders, and autoresponders, with automatic DKIM/SPF/DMARC/MX record deployment, a deliverability preflight (PTR, port-25 egress, RBL) that gates outbound sending, brute-force jails, and maildir backups. Most panels never run a mail server, so it ships as an opt-in extension.",
"author": "ServerKit",
"license": "MIT",
"category": "integration",
"homepage": "https://github.com/jhd3197/ServerKit",
"permissions": ["shell", "filesystem", "network", "docker"],
"min_panel_version": "1.7.0",
"entry_point": "mail:mail_bp",
"url_prefix": "/api/v1/mail",
"models": "models:register",
"lifecycle": {
"install": "lifecycle:on_install",
"uninstall": "lifecycle:on_uninstall"
},
"jobs": [
{ "kind": "mail.preflight.run", "handler": "jobs:run_preflight" },
{ "kind": "mail.queue.flush", "handler": "jobs:flush_queue" }
],
"schedules": [
{ "name": "mail-preflight-daily", "kind": "mail.preflight.run", "cron": "0 6 * * *" }
],
"icon": "<rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"/><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"/>",
"contributions": {
"nav": [
{
"id": "mail",
"label": "Mail Server",
"route": "/mail",
"category": "operations",
"icon": "<rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"/><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"/>"
}
],
"routes": [
{ "path": "mail", "component": "MailPage" },
{ "path": "mail/:tab", "component": "MailPage" }
],
"page_titles": {
"/mail": "Mail Server"
},
"command_palette": [
{
"label": "Mail Server",
"path": "/mail",
"category": "Pages",
"keywords": "mail smtp imap stalwart mailbox domain dkim spf dmarc mx deliverability forwarder autoresponder queue"
}
]
}
}