2,8K
OwnCloud ist eine Plattform, mit der du deine eigene private Cloud erstellen kannst, um deine Dateien sicher zu speichern, zu synchronisieren und von überall aus darauf zuzugreifen. Du behältst die volle Kontrolle über deine Daten und kannst sie bequem von verschiedenen Geräten aus verwalten. Ich zeige dir hier, wie du OwnCloud innerhalb weniger Minuten mittels Docker und Traefik installieren kannst.
Datum | Änderungen |
---|---|
08.09.2022 | Erstellung dieser Anleitung |
01.06.2023 | Anpassung an neue Traefik Labels |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik v2 + 3 – Reverse-Proxy mit CrowdSec im Stack einrichten
2. Verzeichnis anlegen
Im ersten Schritt legen wir uns ein Verzeichnis an.
mkdir -p /opt/containers/owncloud
3. Docker Compose erstellen
Nun erstellen wir uns unsere Docker Compose Datei. Dies ist die Grundlage für unser ownCloud. Gebt dazu folgenden Befehl ein:
nano /opt/containers/owncloud/docker-compose.yml
Hier fügt ihr folgendes ein:
version: "3" services: owncloud: image: owncloud/server container_name: owncloud_server restart: unless-stopped depends_on: - mariadb - redis environment: - OWNCLOUD_DOMAIN=owncloud.euredomain.de - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=owncloud - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_DB_HOST=mariadb - OWNCLOUD_ADMIN_USERNAME=admin - OWNCLOUD_ADMIN_PASSWORD=superSicher - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=redis - OWNCLOUD_OVERWRITE_CLI_URL=https://owncloud.euredomain.de - OWNCLOUD_OVERWRITE_PROTOCOL=https - OWNCLOUD_OVERWRITE_HOST=owncloud.euredomain.de - OWNCLOUD_TRUSTED_PROXIES=172.16.255.254/16 - OWNCLOUD_DEFAULT_LANGUAGE=de healthcheck: test: ["CMD", "/usr/bin/healthcheck"] interval: 30s timeout: 10s retries: 5 volumes: - ./files:/mnt/data labels: - "traefik.enable=true" - "traefik.http.routers.owncloud.entrypoints=websecure" - "traefik.http.routers.owncloud.rule=Host(`owncloud.euredomain.de`)" - "traefik.http.routers.owncloud.tls=true" - "traefik.http.routers.owncloud.tls.certresolver=http_resolver" - "traefik.http.routers.owncloud.service=owncloud" - "traefik.http.services.owncloud.loadbalancer.server.port=8080" - "traefik.docker.network=proxy" - "traefik.http.routers.owncloud.middlewares=default@file" networks: - default - proxy mariadb: image: mariadb:10.6 container_name: owncloud_mariadb restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=owncloud - MYSQL_USER=owncloud - MYSQL_PASSWORD=owncloud - MYSQL_DATABASE=owncloud command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"] healthcheck: test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"] interval: 10s timeout: 5s retries: 5 volumes: - ./mysql:/var/lib/mysql networks: - default redis: image: redis:6 container_name: owncloud_redis restart: unless-stopped command: ["--databases", "1"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 volumes: - ./redis:/data networks: - default networks: proxy: external: true
Folgendes müsst ihr anpassen:
- OWNCLOUD_DOMAIN an eure Domain anpassen
- traefik.http.routers.owncloud.rule an eure Domain anpassen
- OWNCLOUD_ADMIN_USERNAME einen Nutzernamen vergeben
- OWNCLOUD_ADMIN_PASSWORD ein sicheres Passwort vergeben
- OWNCLOUD_OVERWRITE_CLI_URL anpassen
- OWNCLOUD_OVERWRITE_HOST anpassen
3. ownCloud starten
Dazu gebt ihr folgendes ein:
docker compose -f /opt/containers/owncloud/docker-compose.yml up -d
4. Quellen
- https://owncloud.com/de/
- https://hub.docker.com/_/owncloud
- https://doc.owncloud.com/server/next/admin_manual/installation/docker/
Hallo, ich habe immer diese Meldung in den Einstellungen stehen: Der „X-XSS-Protection“-HTTP-Header ist nicht so konfiguriert, dass er „0“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.
Ich habe schon Onkel Google gefragt doch da gibt es so viele unterschiedliche Wege und Meinungen. Kann mir hier jemand auf die einfache Art helfen? Bin jetzt kein Profi, aber etwas versteh ich davon und da komm ich nicht drauf.
Christian