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.
Enthaltene Services
seafile
seafileltd/seafile-mc:12
Umgebungsvariablen:
mariadb
mariadb:11
Umgebungsvariablen:
memcached
memcached:1-alpine
Generiertes YAML
# 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
Kurzinfo
- Services
- 3
- Netzwerke
- 1
- Volumes
- 2
Wann verwenden
Dieses Template ist ideal für die Einrichtung einer seafile Umgebung. Alle Services sind mit Healthchecks, Ressourcenlimits und sinnvollen Standardwerten vorkonfiguriert. Passen Sie die Umgebungsvariablen an, bevor Sie in Produktion gehen.
Tipps
- Ändern Sie alle Standardpasswörter vor dem Deployment
- Überprüfen Sie die Ressourcenlimits für Ihre Hardware
- Fügen Sie einen Reverse Proxy für HTTPS in Produktion hinzu
- Konfigurieren Sie Backup-Strategien für Daten-Volumes