Ich habe bereits schon hier eine Anleitung geschrieben, wie ihr Seafile normal “von Hand” installieren könnt. Nun zeige ich euch, wie ihr dies in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Inhaltsverzeichnis
Wer Traefik noch nicht installiert hat, findet hier eine Anleitung, wie ihr dies schnell tun könnt.
Als Grundlage meiner Anleitung dient die offizielle Seafile Anleitung für Docker.
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/seafile/{mysql-db,seafile-data}
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Seafile Compose genommen und diese abgeändert für Traefik.
cd /opt/containers/seafile/ nano docker-compose.yml
Inhalt
version: '2.0' services: seafile-db: image: mariadb:10.1 container_name: seafile-mysql restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=db_dev <----- Hier Passwort eingeben -----> - MYSQL_LOG_CONSOLE=true volumes: - ./mysql-db:/var/lib/mysql networks: - seafile-net memcached: image: memcached:1.5.6 container_name: seafile-memcached restart: unless-stopped entrypoint: memcached -m 256 networks: - seafile-net seafile: image: seafileltd/seafile-mc:latest container_name: seafile restart: unless-stopped volumes: - ./seafile-data:/shared environment: - DB_HOST=seafile-db - DB_ROOT_PASSWD=db_dev <----- Hier MySQL Passwort eingeben -----> - TIME_ZONE=Europe/Berlin - SEAFILE_ADMIN_EMAIL=test@euredomain.de <----- Hier Admin E-Mail eingeben -----> - SEAFILE_ADMIN_PASSWORD=test <----- Hier Admin Passwort eingeben -----> - SEAFILE_SERVER_LETSENCRYPT=false - SEAFILE_SERVER_HOSTNAME=cloud.euredomain.de <----- Hier eure URL eingeben -----> labels: - "traefik.enable=true" - "traefik.http.routers.seafile.entrypoints=http" - "traefik.http.routers.seafile.rule=Host(`cloud.euredomain.de`)" - "traefik.http.middlewares.seafile-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.seafile.middlewares=seafile-https-redirect" - "traefik.http.routers.seafile-secure.entrypoints=https" - "traefik.http.routers.seafile-secure.rule=Host(`cloud.euredomain.de`)" - "traefik.http.routers.seafile-secure.tls=true" - "traefik.http.routers.seafile-secure.tls.certresolver=http" - "traefik.http.routers.seafile-secure.service=seafile" - "traefik.http.services.seafile.loadbalancer.server.port=80" - "traefik.docker.network=proxy" depends_on: - seafile-db - memcached networks: - seafile-net - proxy networks: seafile-net: proxy: external: true
Notwendige Anpassungen:
- MySQL Passwort vergeben
- Admin E-Mail vergeben
- Admin Kennwort vergeben
- Eure URL eingeben bei Seafile
- 2x eure URL eingeben bei Traefik
Diese Docker Compose Datei funktioniert nur, wenn ich euch mittels meiner Anleitung hier Traefik installiert habt. Sonst heißen einige Traefik Variablen wohl anders. Diese müsst ihr dann dementsprechend bei euch anpassen.
3. Seafile Server starten
Den Server startet ihr wie gewohnt mit folgendem Befehl:
docker-compose -f /opt/containers/seafile/docker-compose.yml up -d
Nun sollte es so aussehen, wenn ihr auf “cloud.euredomain.de” geht.
4. Anpassungen für Uploads vornehmen
Unsere Verbindung wird mittels Traefik TLS verschlüsselt. Daher müssen wir noch Seafile anpassen. Diese Einstellungen müsst ihr mit dem Administrator Benutzer vornehmen.
Klickt auf euer “Avatar” oben rechts.
Hier klickt ihr auf “System-Administration”.
Nun auf “Einstellungen”. Hier sind jetzt die “SERVICE_URL” und “FILE_SERVER_ROOT” wichtig. Diese passt ihr an.
Wichtig ist, dass wenn ihr änderungen vornehmt, dass ihr diese mit dem “Haken” bestätigt.
Nun ändert die Einstellungen folgendermaßen ab:
- SERVICE_URL = https://cloud.euredomain.de
- FILE_SERVER_ROOT = https://cloud.euredomain.de/seafhttp
5. Quellen
https://download.seafile.com/published/seafile-manual/docker/deploy%20seafile%20with%20docker.md
https://github.com/haiwen/seafile-docker
2 Kommentare
Mein Dank kennt keine Worte! So truly made my day/night!
Danke konnte paar Sachen abspicken, hat geholfen!