Settings fixes: - MAX_SITES_PER_USER, USER_RATE_LIMIT_PER_MIN/HR now read from DB settings table (DB > ENV > default), so dashboard/settings changes apply without restart. Sync cache refreshed on every save or delete. - /api/me reports the live DB value for max_sites_per_user. Admin improvements: - Admin users bypass per-user rate limiting entirely (role=admin or ADMIN_EMAILS). - Admin Overview now shows platform stats: registered users, new users (7d), total user sites, available tools. Plugin cleanup: - Appwrite and Directus plugins removed from the active registry (8 plugins now: WordPress, WooCommerce, WordPress Specialist, Gitea, n8n, Supabase, OpenPanel, Coolify). Plugin code is retained for future re-enabling. - Settings page plugin visibility list updated to match. Mobile onboarding: - Stepper steps on narrow viewports stack vertically with correct full border and rounded corners on each step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
"""
|
|
Plugins package
|
|
|
|
All project type plugins are here.
|
|
|
|
F.19.3.2-.3 (2026-05-04): wordpress_advanced sunset — the deprecated
|
|
Docker-socket / WP-CLI plugin was removed once
|
|
wordpress_specialist absorbed db inspection +
|
|
bulk fan-out (companion v2.18.0).
|
|
F.19.1 (2026-05-01): WordPress Specialist Plugin added (companion-backed,
|
|
no Docker socket).
|
|
v2.8.0 (Phase J): Directus CMS Plugin added
|
|
v2.6.0 (Phase I): Appwrite Backend Plugin added
|
|
v2.5.0 (Phase H): OpenPanel Analytics Plugin added
|
|
v2.3.0 (Phase G): Supabase Self-Hosted Plugin added
|
|
|
|
Note: Appwrite and Directus plugins are retained in the codebase but are
|
|
no longer registered by default. They require review and testing before
|
|
re-enabling. To restore them, add their imports and registry.register()
|
|
calls below.
|
|
"""
|
|
|
|
from plugins.base import BasePlugin, PluginRegistry
|
|
from plugins.coolify.plugin import CoolifyPlugin
|
|
from plugins.gitea.plugin import GiteaPlugin
|
|
from plugins.n8n.plugin import N8nPlugin
|
|
from plugins.openpanel.plugin import OpenPanelPlugin
|
|
from plugins.supabase.plugin import SupabasePlugin
|
|
from plugins.woocommerce.plugin import WooCommercePlugin
|
|
from plugins.wordpress.plugin import WordPressPlugin
|
|
from plugins.wordpress_specialist.plugin import WordPressSpecialistPlugin
|
|
|
|
# Create global registry
|
|
registry = PluginRegistry()
|
|
|
|
# Register available plugins (8 active plugins)
|
|
registry.register("wordpress", WordPressPlugin)
|
|
registry.register("woocommerce", WooCommercePlugin)
|
|
registry.register("wordpress_specialist", WordPressSpecialistPlugin)
|
|
registry.register("gitea", GiteaPlugin)
|
|
registry.register("n8n", N8nPlugin)
|
|
registry.register("supabase", SupabasePlugin)
|
|
registry.register("openpanel", OpenPanelPlugin)
|
|
registry.register("coolify", CoolifyPlugin)
|
|
|
|
__all__ = [
|
|
"BasePlugin",
|
|
"PluginRegistry",
|
|
"registry",
|
|
"WordPressPlugin",
|
|
"WooCommercePlugin",
|
|
"WordPressSpecialistPlugin",
|
|
"GiteaPlugin",
|
|
"N8nPlugin",
|
|
"SupabasePlugin",
|
|
"OpenPanelPlugin",
|
|
"CoolifyPlugin",
|
|
]
|