-
创建者:
虚拟的现实,上次更新时间:9月 04, 2025 需要 3 分钟阅读时间
1. 简介
最新的 13 版本已经发布,和之前的版本相比主要是增加了 AI 功能以及图片库功能,优化了 sdoc 的版本体验。详细情况可以参考官网说明:https://manual.seafile.com/13.0/changelog/server-changelog/。
Seafile server: Seafile core services, see Seafile Components for the details.
MySQL: Database stores data related to Seafile and SeaDoc.
Redis: Cache server.
Caddy: Caddy server enables user to access the Seafile service (i.e., Seafile server and Sdoc server) externally and handles SSL configuration.
Seafile optional extension:
SeaDoc Server: SeaDoc server, provide a lightweight online collaborative document editor,.
Notification Server: Notify clients of updates of the library, providing realtime update feature.
Metadata Server: Provide metadata management for libraries.
Seafile AI & face embedding: Users can enable Seafile AI to support features such as file tags, file and image summaries, text translation, sdoc writing assistance, generating image tags (including objects, weather, color, etc.), face detection and encoding in images, and text detection in images (OCR).
其它版本的安装配置可以参考
以下的内容是基于从版本12升级到版本13的操作步骤。【本文依然采用内置 nginx 不启用 caddy 的方式】
2. seafile-13.0.8-pro 配置
2.1. .env
env 环境主要是变更了容器版本并增加了 redis 配置相关的内容
COMPOSE_FILE='seafile.yml' #COMPOSE_PATH_SEPARATOR=',' SEAFILE_REDIS_IMAGE=redis REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD=29329c6e-bac6-4f9f-b291-2dde90c79b3c SEAFILE_IMAGE=seafileltd/seafile-pro-mc:12.0-latest SEAFILE_DB_IMAGE=mariadb:10.11 SEAFILE_MEMCACHED_IMAGE=memcached:1.6.29 SEAFILE_ELASTICSEARCH_IMAGE=elasticsearch:8.15.0 #SEAFILE_CADDY_IMAGE=lucaslorentz/caddy-docker-proxy:2.9 SEAFILE_VOLUME=/data/seafile/data SEAFILE_MYSQL_VOLUME=/data/seafile/db SEAFILE_ELASTICSEARCH_VOLUME=/data/seafile/elasticsearch #SEAFILE_CADDY_VOLUME=/opt/seafile-caddy SEAFILE_MYSQL_DB_HOST=db INIT_SEAFILE_MYSQL_ROOT_PASSWORD=password SEAFILE_MYSQL_DB_USER=seafile SEAFILE_MYSQL_DB_PASSWORD=29329c6e-bac6-4f9f-b291-2dde90c79b3c TIME_ZONE=Asia/Shanghai JWT_PRIVATE_KEY=0mucRqrGg4/wC+X7bXxccTpUJdz+ySP3FyhrjCR0k5FVyOOqilk4aYfHVWQKx825 SEAFILE_SERVER_HOSTNAME=192.168.182.53:8003 SEAFILE_SERVER_PROTOCOL=http INIT_SEAFILE_ADMIN_EMAIL=13671@139.com INIT_SEAFILE_ADMIN_PASSWORD=password INIT_S3_STORAGE_BACKEND_CONFIG=false INIT_S3_COMMIT_BUCKET=<your-commit-objects> INIT_S3_FS_BUCKET=<your-fs-objects> INIT_S3_BLOCK_BUCKET=<your-block-objects> INIT_S3_KEY_ID=<your-key-id> INIT_S3_SECRET_KEY=<your-secret-key> INIT_S3_USE_V4_SIGNATURE=true INIT_S3_AWS_REGION=us-east-1 INIT_S3_HOST=s3.us-east-1.amazonaws.com INIT_S3_USE_HTTPS=true SEADOC_IMAGE=seafileltd/sdoc-server:1.0-latest SEADOC_VOLUME=/data/seafile/seadoc-data ENABLE_SEADOC=true SEADOC_SERVER_URL=http://192.168.182.53:8003/sdoc-server NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:12.0-latest NOTIFICATION_SERVER_VOLUME=/data/seafile/notification-data SEASEARCH_IMAGE=seafileltd/seasearch:latest INIT_SS_ADMIN_USER=admin INIT_SS_ADMIN_PASSWORD=password SS_DATA_PATH=./data/seasearch
2.2. seafile_13.yml
该配置文件注意需要添加 Redis 的容器配置和对应的 seafile 部分配置
version: '3.0' services: db: image: mariadb:10.11 container_name: seafile-mysql environment: - MYSQL_ROOT_PASSWORD=password # Requested, set the root's password of MySQL service. - MYSQL_LOG_CONSOLE=true volumes: - /data/seafile/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. networks: - seafile-net healthcheck: test: [ "CMD", "/usr/local/bin/healthcheck.sh", "--connect", "--mariadbupgrade", "--innodb_initialized", ] interval: 20s start_period: 30s timeout: 5s retries: 10 redis: image: ${SEAFILE_REDIS_IMAGE:-redis} container_name: seafile-redis restart: unless-stopped command: - /bin/sh - -c - redis-server --requirepass "$$REDIS_PASSWORD" environment: - REDIS_PASSWORD=${REDIS_PASSWORD:-} networks: - seafile-net elasticsearch: image: elasticsearch:8.15.0 container_name: elasticsearch environment: - discovery.type=single-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms1g -Xmx1g" - "xpack.security.enabled=false" ulimits: memlock: soft: -1 hard: -1 mem_limit: 2g volumes: - /data/seafile/elasticsearch:/usr/share/elasticsearch/data networks: - seafile-net seafile: image: seafileltd/seafile-pro-mc:13.0.8 container_name: seafile ports: - "8003:80" volumes: - /data/seafile/data:/shared environment: - INIT_SEAFILE_MYSQL_ROOT_PASSWORD=password - SEAFILE_MYSQL_DB_HOST=db - SEAFILE_MYSQL_DB_USER=seafile - SEAFILE_MYSQL_DB_PASSWORD=29329c6e-bac6-4f9f-b291-2dde90c79b3c - TIME_ZONE=Asia/Shanghai - SEAFILE_ADMIN_EMAIL=136771@139.com - SEAFILE_ADMIN_PASSWORD=password - SEAFILE_SERVER_LETSENCRYPT=false - SEAFILE_SERVER_HOSTNAME=192.168.182.53:8003 - SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db - SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db - CACHE_PROVIDER=${CACHE_PROVIDER:-redis} - REDIS_HOST=${REDIS_HOST:-redis} - REDIS_PORT=${REDIS_PORT:-6379} - REDIS_PASSWORD=${REDIS_PASSWORD:-} - SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db - SEAFILE_SERVER_PROTOCOL=http - NON_ROOT=false - SEAFILE_ELASTICSEARCH_VOLUME=/data/seafile/elasticsearch - JWT_PRIVATE_KEY=0mucRqrGg4/wC+X7bXxccTpUJdz+ySP3FyhrjCR0k5FVyOOqilk4aYfHVWQKx825 - ENABLE_SEADOC=true - SEADOC_SERVER_URL=http://192.168.182.53:8003/sdoc-server depends_on: - db - memcached - elasticsearch - redis networks: - seafile-net seadoc: image: seafileltd/sdoc-server:2.0-latest container_name: seadoc volumes: - /data/seafile/seadoc-data:/shared ports: - "7070:80" environment: - DB_HOST=db - DB_PORT=3306 - DB_USER=seafile - DB_PASSWORD=29329c6e-bac6-4f9f-b291-2dde90c79b3c - DB_NAME=seahub_db - TIME_ZONE=Asia/Shanghai - NON_ROOT=false - JWT_PRIVATE_KEY=0mucRqrGg4/wC+X7bXxccTpUJdz+ySP3FyhrjCR0k5FVyOOqilk4aYfHVWQKx825 - SEAHUB_SERVICE_URL=http://192.168.182.53:8003 networks: - seafile-net networks: seafile-net:
2.3. 调整 seahub_settings.py 配置
取消 data/seafile/conf/seahub_settings.py 配置文件中原有的缓存配置内容
#CACHES = { # 'default': { # 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache', # 'LOCATION': 'memcached:11211', # }, # 'locmem': { # 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', # }, #} #COMPRESS_CACHE_BACKEND = 'locmem'
2.4. 正常启动容器
docker compose -f seafile_13.yml up -d
3. 参考
相关配置文件
- 无标签
添加评论