$ account 1Panel-dev
1Panel is a production-grade, open-source Linux server management panel built on a distributed core-agent architecture. The system provides a comprehensive web-based GUI (Vue 3 frontend) and a REST API (Go/Gin) that orchestrates an agent running on each managed host. It covers the full server lifecycle: website management (Nginx/OpenResty with custom config parser), database administration (MySQL, PostgreSQL, MongoDB, Redis), Docker container orchestration, firewall management (abstraction over iptables, nftables, firewalld, UFW), system monitoring, backup/restore to multiple cloud storage providers, cron jobs, SSL certificate automation via ACME, and terminal access (local, SSH, container) with AI-assisted command generation. The architecture splits control plane (core) and execution plane (agent) communicating over Unix sockets or HTTPS, supporting multi-node environments. Notable engineering highlights include a reusable task framework with retry/rollback, a firewall lifecycle abstraction with rule identity hashing, a custom Nginx config lexer/parser, and an enterprise extension system via Go build tags and frontend dynamic imports. The codebase is actively maintained with frequent commits and a large open-source community (37k+ stars). However, there is significant code duplication between core and agent packages, and some hardcoded paths and legacy migration logic add complexity.
This repository is the official application store catalog for the 1Panel server management panel. It contains hundreds of versioned definitions for self-hosted software (databases, CMS, monitoring, AI tools, messaging, etc.), each packaged with a Docker Compose template, a structured data.yml metadata file defining installation form fields, and lifecycle scripts (init, upgrade, uninstall). The repository itself is not a running service; it is a curated, machine-readable configuration catalog consumed by the 1Panel platform to present one-click deployment options and manage application upgrades. The architecture follows a consistent pattern: apps/<name>/<version>/ with standardized docker-compose.yml files using external networks (1panel-network), PANEL_* environment variables, and labels createdBy: "Apps". The repo relies on external Docker images and the 1Panel runtime, and uses Renovate bots and CI workflows to track upstream version changes and enforce validation rules (e.g., OpenResty module catalog checks). It also bundles complex components like a WAF rule set for OpenResty and AI prompt templates for applications such as TrendRadar, showcasing cross-app reusability of configuration patterns.