部署nextcloud并实现文件上传审批功能

1 背景

  • 团队有内部研发环境,需要控制其文件导出能力,故对每次导出操作进行审批,避免关键代码泄漏

  • 经过一番调研没有找到特别好用的开源文件导出系统(之前买过的付费的系统也难用的一匹)

  • nextcloud作为生态最完善的网盘之一,拥有庞大的社区和开发者/插件,可以支持各种功能

  • 坑爹的Nextcloud All-in-One,部署难搞的一匹,各种卡住/某个服务起不起来,弄了几个晚上没解决,写的真是辣鸡

2 整体方案

  • 手写docker-compose 部署nextcloud

  • approval插件完成核心审批功能(基于标签)

  • files_accesscontrol插件用于文件可访问性的控制

  • files_automatedtagging用于给文件自动大标签

3 快速部署 Nextcloud

services:

  nextcloud:
    image: nextcloud
    container_name: nextcloud_web
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./nextcloud:/var/www/html
    links:
      - db
      - redis

  db:
    image: mariadb
    container_name: nextcloud_mariadb
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./mysql:/var/lib/mysql
    command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-allowed-packet=10G
    environment:
      TZ: Asia/Taipei
      MYSQL_ROOT_PASSWORD: password1234
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: password1234

  phpmyadmin:
    image: phpmyadmin
    container_name: nextcloud_phpmyadmin
    restart: always
    ports:
      - "8081:80"
    environment:
      - PMA_HOST=db
      - UPLOAD_LIMIT=10G

  redis:
    image: redis:alpine
    container_name: nextcloud_redis
    restart: always
    environment:
        - TZ=Asia/Taipei
    volumes:
        - ./redis:/data
    command: /bin/sh -c "redis-server --requirepass $$REDIS_HOST_PASSWORD"
    env_file:
        - redis.env
# redis.env文件
REDIS_HOST_PASSWORD=password1234

只需要两个文件,pull一下就部署好了,再次提醒避雷Nextcloud AIO(个人部署体验极差)

4 安装插件、修改配置

  1. 官网下载插件,压缩包解压到nextcloud/apps文件中

  2. 设置trusted_domains,路径为config/config.php

  3. sudo docker compose down && sudo docker compose up -d重启即可

5 定义(审批)流程

  • 核心是通过几个标签:如通过审批拒绝等来控制审批状态

  • 然后通过插件完成配套的权限控制

Author: zcp
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source zcp !
评论
 Current
部署nextcloud并实现文件上传审批功能
1 背景 团队有内部研发环境,需要控制其文件导出能力,故对每次导出操作进行审批,避免关键代码泄漏 经过一番调研没有找到特别好用的开源文件导出系统(之前买过的付费的系统也难用的一匹) nextcloud作为生态最完善的网盘之一,
Next 
VMWare Horizon 8(2312) 团队配置与使用(下)
1 前言 场景需求:团队共享桌面、远程办公、研发测试、统一环境管理 上篇覆盖范围:ESXi、域控、vCenter的安装与基础配置 下篇覆盖范围:Horizon的安装与配置 整体目标 搭建一套可供团队使用的 VMware 虚
  TOC