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.
Services Inclus
seafile
seafileltd/seafile-mc:12
Variables d'Environnement :
mariadb
mariadb:11
Variables d'Environnement :
memcached
memcached:1-alpine
YAML Généré
# 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
Informations Rapides
- Services
- 3
- Réseaux
- 1
- Volumes
- 2
Quand l'Utiliser
Ce modèle est idéal pour mettre en place un environnement seafile Tous les services sont préconfigurés avec des healthchecks, des limites de ressources et des valeurs par défaut raisonnables. Personnalisez les variables d'environnement avant de déployer en production.
Conseils
- Changez tous les mots de passe par défaut avant le déploiement
- Vérifiez les limites de ressources pour votre matériel
- Ajoutez un reverse proxy pour le HTTPS en production
- Configurez des stratégies de sauvegarde pour les volumes de données