Nexuni Co Ltd. Famcy 管理控制台框架
项目描述
FAMCY
Famcy 是适合您的全方位管理控制台 (FAMCY)。它专为 Nexuni Co. 管理控制台应用程序开发而设计。该框架的目标是为 Web 应用程序提供一个基于 python 的轻量级前端开发平台。它建立在 Flask 框架之上,包含用于后端管理和用户仪表板操作的各种有用插件。由于我们处理大量机器人和自动化相关应用程序,FAMCY 原生支持ROS2集成。
先决条件
目前,我们只支持使用 python3.7 进行 ubuntu 开发。如果您有其他环境设置,请使用我们的docker!
- 确保您的主目录以
/home/{USER}/....
- 确保
python3.7
存在于您的 CLI 环境中。
安装
安装需要安装附加包FamcyTools。
- 安装 FamcyTools
pip3 install FamcyTools
- 初始化家庭环境
famcy init {PROJECT_NAME} (e.g. famcy init template)
等到它完成初始化并暂时忽略警告。它将~/.local/share/famcy/{PROJECT_NAME}
使用初始模板console
、logs
和生成环境venv
。3. 您可以开始开发您的家族软件或将您现有的代码导入控制台文件夹。
用法
完成所有开发后,您需要运行以下命令来部署代码。
famcy deploy {PROJECT_NAME}
发展
当您在调试模式下运行它时。我们提供了一种基本的运行和测试方法,可将 Web 链接到您的本地端口。请运行以下命令来实现此目的。
famcy run {PROJECT_NAME}
部署
在部署到生产实例时,您应该遵循以下步骤:
- 确保你已经运行
famcy deploy {PROJECT_NAME}
并且你应该得到类似于以下的输出:
== Copy the following part and setup system service == (Need to change path if necessary)
[Unit]
Description=uWSGI instance to serve famcy
After=network.target
[Service]
User=user
Group=www-data
WorkingDirectory=/home/user/.local/share/famcy/template/venv/lib/python3.7/site-packages/Famcy
Environment="PATH=/home/user/.local/share/famcy/template/venv/bin"
ExecStart=/home/user/.local/share/famcy/template/venv/bin/uwsgi --ini famcy.ini --lazy
[Install]
WantedBy=multi-user.target
== Copy the following part to nginx configurations == (Need to change alias path if necessary)
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/template.sock;
}
location /static {
alias /home/user/.local/share/famcy/template/venv/lib/python3.7/site-packages/Famcy/static;
}
Deployed to wsgi
- 创建一个系统文件并将后续信息复制到系统配置中。请仔细检查系统路径是否正确。
- 使用上面的信息创建一个 nginx 配置文件。
- 修改
/etc/nginx/nginx.conf
文件并将用户设置为您的实例的用户名。 - 重新启动您创建的系统服务。
特征
我们在 Famcy 中提供了一些默认页面的默认服务。