Seafile搭建以及onlyoffice在线办公

部署seafile

docker-compose.yml 如下:
参考此篇文章

version: '2.0'
services:
  db:
    image: mariadb:10.1
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=db_dev  # mysql root的密码,同时修改 seafile的DB_ROOT_PASSWD与这个一致
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql  # mysql 数据持久化挂载路径。修改冒号前面的。
    networks:
      - seafile-net

  memcached:
    image: memcached:1.5.6
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net
  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "80:80"
    volumes:
      - /opt/seafile-data:/shared   # seafile 文件持久化路径。修改冒号前面的
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=db_dev  # 必须与上面的mysql 密码一致
      - SEAFILE_ADMIN_EMAIL=admin@example.com # seafile  admin的邮箱账户
      - SEAFILE_ADMIN_PASSWORD=asecret     # seafile admin的用户名密码
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net
  onlyoffice:
    image: onlyoffice/documentserver
    container_name: onlyoffice
    ports:
      - "8080:80"
networks:
  seafile-net:

设置onlyoffice

编辑seafile配置文件

docker exec -it seafile bash
vim conf/seahub_settings.py

在最后面添加如下内容:

ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http://10.110.25.201:8080/web-apps/apps/api/documents/api.js' #ip 改为 本机ip
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx')

退出后,重启容器 docker restart seafile

登录管理员后台修改seafile地址

管理员界面配置,需要正确填写,这样onlyoffice才能和seafile正常通信,改为 http://<机器ip:端口>http://<机器ip:端口>/seafhttp

添加防火墙允许seafile端口

如果打开seafile界面查看私人资料库下的 seafile-tutorial.doc 文件,一直显示打开中,则需要在防火墙里添加seafile的端口
比如 ubuntu 18, ufw allow 8080,centos 7 firewall-cmd --zone=public --add-port=8080/tcp --permanent && firewall-cmd --reload

具体原因是docker不能访问宿主机中的端口,详见此文

ldap 配置

详见此文档

docker exec -it seafile bash
vi conf/ccnet.conf

总结

可以把 conf/seahub_settings.py 和 conf/ccnet.conf 复制到宿主机,映射进去,这样下次部署就方便了

posted @ 2022-04-08 09:42  半山th  阅读(1000)  评论(0编辑  收藏  举报