- 添加 Naive UI 依赖到 package.json - 配置 Vite 开发服务器支持外部访问 (0.0.0.0:8080) - 配置 API 代理到后端 localhost:80,并正确处理 cookie 和 CSRF token - 修复 index.html 中 Jinja2 模板语法在开发模式下的问题 - 修改 get_context_for_dev 方法支持 GET 请求并返回 CSRF token - 修改前端使用 GET 请求获取初始数据,避免 CSRF token 验证问题
Jcloud
Jcloud is a 100% open-source cloud hosting for the Jingrow stack.
Motivation
We originally hosted our customer sites on an internal cloud platform called "Central," designed to automate creating and hosting sites when customers signed up on our website. Central was primarily built to host JERP, our flagship product. However, as our customers' needs evolved, they began requesting the ability to host custom applications, a feature that was not a priority in Central.
Additionally, customers lacked full control over their servers—no SSH access, no ability to manage updates, and limited flexibility in interacting with their environment. This led us to launch Jingrow, to build a self-serve cloud platform that would empower our customers with complete control over their hosting experience.
Key Features
-
Multitenancy Made Easy: Jcloud simplifies multi-tenancy by enabling multiple sites on a single platform, each with its app version, allowing independent updates and minimal downtime, even for large sites.
-
Dashboard: The dashboard provides a centralized interface to manage apps, servers, sites, billing, backups, and updates, offering real-time insights and streamlined control of complex operations.
-
Permissions: Granular access controls let team owners manage roles and resources efficiently, ensuring users have access only to relevant information and actions for their roles.
-
Simplified Management: Jcloud streamlines site management with automated backups, real-time monitoring, role-based access, and easy scaling, making it ideal for growing Jingrow environments.
-
Billing: Automated billing supports daily or monthly subscriptions, flexible payment methods, wallet credits, and ERP integration, simplifying customer invoicing and payments.
-
Marketplace: The marketplace allows developers to list apps with flexible pricing models, ensures compatibility checks, and provides a streamlined system for sales and payouts.
Under the Hood
-
Jingrow Framework: A full-stack web application framework written in Python and Javascript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API.
-
Jingrow UI: A Vue-based UI library, to provide a modern user interface. The Jingrow UI library provides a variety of components that can be used to build single-page applications on top of the Jingrow Framework.
-
Agent: A flask app designed to work along with Jcloud. It provides a CLI interface for Jcloud to communicate with the sites and benches.
-
Docker: An open-source platform that enables developers to build, package, and deploy applications in lightweight, portable containers.
-
Ansible: An open-source IT automation tool that simplifies the management, configuration, and deployment of systems and applications.
Setup
To self host or to setup Jcloud locally follow the steps in the Local Development Environment Setup Guide or this YouTube video