自托管文件同步与协作平台Sync-in

简介

什么是 Sync-in ?

Sync-in 是一个开源的、自托管的文件存储、同步和协作平台,定位为 NextcloudDropbox 的现代替代品。它由法国开发者 Johan Legrand 创建,使用 TypeScript 开发,让你在自己的服务器上搭建完整的文件管理与协作工作空间,支持文件同步、实时协作编辑、细粒度权限管理、全文搜索和 WebDAV 访问。

主要特点

  • 文件存储与同步 :支持跨设备文件同步,提供 WindowsmacOSLinux 桌面客户端
  • 实时协作编辑 :支持集成 OnlyOfficeCollabora Online,支持多人同时编辑文档
  • 现代身份认证 :支持 OIDC 单点登录、LDAP 企业集成、多因素认证(MFA)和应用密码
  • 细粒度权限控制 :基于空间(Spaces)和共享(Shares)的权限管理,支持角色访问控制
  • 强大的全文搜索 :深度文档内容索引,支持多种格式的全文搜索,内置 OCR 功能
  • WebDAV 支持 :原生 WebDAV 协议,可将空间挂载为本地磁盘
  • 文件保护:支持存储配额、文件锁定和安全的共享环境
  • 开源免费 :基于 AGPL-3.0 协议开源,可免费使用和修改

应用场景

  • 个人云存储 :替代 Dropbox / Google Drive,在自己的服务器上管理文件,数据完全自主可控
  • 团队协作:创建团队空间,与成员共享文件、实时协作编辑文档,支持评论和活动追踪
  • 家庭 NAS 文件管理 :配合群晖 NAS,将 NAS 上的目录挂载到 Sync-in 中统一管理
  • 企业文档管理 :集成 LDAP / OIDC 认证,支持 MFA,满足企业级安全和合规需求

Sync-in 是一个功能完备的自托管文件协作平台,无论是个人使用还是团队协作,都能提供安全、高效的文件管理体验。

安装

采用 docker-compose 安装。Sync-in 依赖 MariaDB 数据库,并可选集成 OnlyOffice 实现在线文档编辑,建议使用官方提供的 docker-compose 方式进行部署。

本文写作时,最新版本为 v2.3.0

docker-compose 安装

将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
services:
  sync_in:
    image: syncin/server:latest
    container_name: syncin-web
    restart: always
    ports:
      - "6162:8080"
    volumes:
      - ./environment.yaml:/app/environment/environment.yaml  # 配置文件
      - ./data:/app/data                      # 数据存储
    environment:
      - INIT_ADMIN=true
      - INIT_ADMIN_PASSWORD=yourpassword    # 管理员密码
      - INIT_ADMIN_LOGIN=admin              # 管理员用户名
      - PUID=${PUID:-8888}                  # 用户 ID
      - PGID=${PGID:-8888}                  # 用户组 ID   
    depends_on:
      - mariadb
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"

  mariadb:
    image: mariadb:11
    container_name: syncin-mariadb
    restart: always
    command: --innodb_ft_cache_size=16000000 --max-allowed-packet=1G
    volumes:
      - ./mariadb_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: MySQLRootPassword    # 数据库根密码
      MYSQL_DATABASE: sync_in

配置环境变量

docker-compose.yml 同级目录下创建 environment.yaml 文件:

yaml 复制代码
mysql:
  url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in
auth:
  encryptionKey: changeEncryptionKeyWithStrongKey
  token:
    access:
      secret: changeAccessWithStrongSecret
    refresh:
      secret: changeRefreshWithStrongSecret
applications:
  files:
    dataPath: /app/data
    collabora:
      enabled: false
    onlyoffice:
      enabled: false
      secret: onlyOfficeSecret

注意mysql.url 中的数据库密码必须与 docker-compose.ymlMYSQL_ROOT_PASSWORD 的值保持一致。

初始化管理员账号

docker-compose.yml 中通过环境变量 INIT_ADMIN=true 自动创建初始管理员账号:

  • INIT_ADMIN_LOGIN:管理员登录名(默认为 admin
  • INIT_ADMIN_PASSWORD:管理员密码(请务必修改为强密码)

首次启动后,系统会自动创建管理员账号,登录后建议立即修改密码并启用 MFA

通过 SSH 登录到您的群晖,执行下面的命令:

bash 复制代码
# 新建文件夹 syncin 和 子目录
mkdir -p /volume1/docker/syncin/{data,mariadb_data}

# 进入 syncin 目录
cd /volume1/docker/syncin

# 将 docker-compose.yml 和 environment.yaml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:6162 即可进入登录界面

首次登录使用初始化时设置的管理员账号和密码

登录后可以进行以下操作:

  1. 创建个人空间:上传和管理自己的文件
  1. 创建团队空间:邀请成员协作,设置访问权限
  2. 挂载外部目录 :通过 WebDAV 将空间挂载到本地文件管理器

RainDrive 中设置

可以看到我们上传的文件

  1. 集成桌面客户端:下载官方桌面客户端实现文件同步

注意事项

  1. 数据库密码docker-compose.ymlMYSQL_ROOT_PASSWORDenvironment.yamlmysql.url 的密码必须保持一致
  2. 加密密钥encryptionKeyaccess.secretrefresh.secret 务必修改为强随机字符串,且不要随意更改,否则会导致 MFA 验证码失效
  3. 数据持久化/app/data 目录存储所有用户文件,建议定期备份
  4. 性能建议 :生产环境下建议分配至少 2GB 内存给 Sync-in 容器
  5. OnlyOffice 端口 :如果集成 OnlyOffice,首先要确保反向代理配置已启用

参考文档

Sync-in/server: Secure, open-source platform for file storage, sharing, collaboration, and syncing

地址:https://github.com/Sync-in/server
syncin/server - Docker Image

地址:https://hub.docker.com/r/syncin/server
Sync-in 官方网站

地址:https://sync-in.com
Sync-in 官方文档 - Docker 部署指南

地址:https://sync-in.com/docs/setup-guide/docker

相关推荐
ylj_dev3 小时前
从 0 构建 AI Workload Platform(四):从单机工作流内核到可靠控制面
docker·postgresql·架构·golang
.柒宇.4 小时前
使用 cri-docker 搭建 Kubernetes 集群完整教程(v1.36.3)
docker·容器·kubernetes·k8s集群安装
艾伦_耶格宇6 小时前
【DOCKER容器实战】-3 ElasticSearch + Kibana
elasticsearch·docker·jenkins
海兰6 小时前
【 Kafka进阶5】使用 Docker 部署 Apache Kafka 集群完全指南
docker·kafka·apache
sel_97 小时前
【Docker】Docker 安装与使用详解:从零搭建到日常实战
人工智能·深度学习·算法·docker
Lonely 净土16 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
卷无止境17 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
吕海洋1 天前
目前可用的docker源2026.08
运维·docker·容器
gsls2008081 天前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot
xrlfreedom1 天前
大厂 MCP 面试实录:本地 Server 远程化改造中的技术选型与落地实践
docker·json schema·mcp