Seafile
Seafile is an open-source, high-performance file hosting and collaboration platform designed for reliability, security, and speed. It provides file syncing across devices, sharing with fine-grained permissions, file versioning, online editing, and team collaboration features. This stack deploys the Seafile Media Container (MC) edition with MariaDB 11 for metadata storage and Memcached for caching frequently accessed data. Seafile uses a unique data deduplication approach that reduces storage requirements and improves sync speed, making it efficient even for large file collections. Features include end-to-end encryption for client-side encrypted libraries, two-factor authentication, antivirus integration, audit logging, and LDAP/AD integration. After deployment, access the web UI on port 80 and log in with the admin email and password configured in the environment variables.
Servicios Incluidos
seafile
seafileltd/seafile-mc:12
Variables de Entorno:
mariadb
mariadb:11
Variables de Entorno:
memcached
memcached:1-alpine
YAML Generado
# Generated by ComposeHub (composehub.dev)
name: seafile
services:
seafile:
image: seafileltd/seafile-mc:12
restart: always
ports:
- 80:80
volumes:
- seafile_data:/shared
environment:
DB_HOST: mariadb
DB_ROOT_PASSWD: ${DB_ROOT_PASSWORD:-changeme}
SEAFILE_ADMIN_EMAIL: ${SEAFILE_ADMIN_EMAIL:[email protected]}
SEAFILE_ADMIN_PASSWORD: ${SEAFILE_ADMIN_PASSWORD:-changeme}
SEAFILE_SERVER_HOSTNAME: ${SEAFILE_HOSTNAME:-localhost}
SEAFILE_SERVER_LETSENCRYPT: ${SEAFILE_LETSENCRYPT:-false}
TIME_ZONE: ${TZ:-UTC}
MEMCACHED_HOST: memcached
MEMCACHED_PORT: "11211"
networks:
- seafile
depends_on:
mariadb:
condition: service_healthy
memcached:
condition: service_started
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:80 || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 90s
deploy:
resources:
limits:
cpus: "2.00"
memory: 1024M
reservations:
cpus: "0.50"
memory: 256M
labels:
com.composehub.description: Seafile file sync and share server
mariadb:
image: mariadb:11
restart: always
volumes:
- seafile_db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-changeme}
MYSQL_LOG_CONSOLE: "true"
networks:
- seafile
healthcheck:
test:
- CMD-SHELL
- healthcheck.sh --connect --innodb_initialized
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: MariaDB 11 database for Seafile metadata
memcached:
image: memcached:1-alpine
restart: always
command:
- memcached
- "-m"
- "256"
networks:
- seafile
healthcheck:
test:
- CMD-SHELL
- echo stats | nc localhost 11211 | grep -q pid
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
deploy:
resources:
limits:
cpus: "0.50"
memory: 320M
reservations:
cpus: "0.05"
memory: 64M
labels:
com.composehub.description: Memcached for Seafile object caching
networks:
seafile:
driver: bridge
volumes:
seafile_data:
driver: local
seafile_db:
driver: local
Información Rápida
- Servicios
- 3
- Redes
- 1
- Volúmenes
- 2
Cuándo Usar
Esta plantilla es ideal para configurar un entorno de seafile Todos los servicios vienen preconfigurados con healthchecks, límites de recursos y valores por defecto sensatos. Personaliza las variables de entorno antes de desplegar en producción.
Consejos
- Cambia todas las contraseñas por defecto antes de desplegar
- Revisa los límites de recursos para tu hardware
- Añade un proxy inverso para HTTPS en producción
- Configura estrategias de respaldo para los volúmenes de datos