Skip to content

HoubunSOP/moeflow-backend

 
 

Repository files navigation

萌翻[MoeFlow]后端项目

此仓库添加了通过团队中的权限分配来让指定用户获取到团队中所有项目的对应权限

image

如何使用

以docker部署为例,首先您先要下载此仓库(git和下载zip二选一即可),然后打开服务器中的docker-compose.yml,在moeflow-backend下的volumes添加./models:/app/app/models./core:/app/app/core

或者您可以直接将镜像源${GHCR_DOMAIN}/kozzzx/moeflow-backend:${MOEFLOW_BACKEND_VERSION}改成ghcr.io/houbunsop/moeflow-backend:main

但是这仅限于新系统,如果需要从旧数据库进行操作的话还是需要根据下方进行操作更新数据库

具体如下

  moeflow-backend:
    image: ${GHCR_DOMAIN}/kozzzx/moeflow-backend:${MOEFLOW_BACKEND_VERSION}
    restart: unless-stopped
    volumes:
      - ./storage:/app/storage
      - ./logs/moeflow-backend:/app/logs
      - ./models:/app/app/models
      - ./core:/app/app/core

然后将仓库中app/modelsapp/core上传到docker-compose.yml的同级目录下

接下来如果您不是第一次启动的话,请打开docker-compose.yml的同级目录下的core/rbac.py

if cls.objects().count() == 0:更改成if cls.objects().count() != 0:来更新权限表

if cls.objects().count() == 0:
for role in cls.system_role_data:
exist_role = cls.objects(system_code=role["system_code"]).first()
if exist_role is None:
logger.info(f' - 创建 {role["name"]}')
cls(
_name=role["name"],
permissions=role["permissions"],
level=role["level"],
system=True,
system_code=role["system_code"],
intro=role.get("intro", ""),
).save()
logger.info(f"初始化{cls._class_name}表完成")
else:
logger.info(f"已存在{cls._class_name}表,跳过初始化")

然后重新运行docker compose up -d即可

一些小建议

如果感觉前端加载速度过慢,最好删除docker-compose.yml中的下面内容

  moeflow-frontend:
    image: ${GHCR_DOMAIN}/kozzzx/moeflow-frontend:${MOEFLOW_FRONTEND_VERSION}
    restart: unless-stopped
    volumes:
      - ./nginx/templates:/etc/nginx/templates
      - ./nginx/certificates:/certificates
      - ./storage:/storage
      - ./build:/build
    ports:
      - "${HTTP_PORT}:80"
      - "${HTTPS_PORT}:443"
    environment:
      DOMAIN: ${DOMAIN}
      MAX_CONTENT_LENGTH_MB: ${MAX_CONTENT_LENGTH_MB}
    networks:
      - default

然后自己编译一个前端平台或者丢到其他的构建平台来保证前端加载速度(毕竟这个的话还占端口)

About

添加团队权限同步所有项目权限

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 76.4%
  • JavaScript 23.5%
  • Other 0.1%