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 |
| 15.02.2026 | Angepasst an aktuelle Version |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik ab v3.6 mit CrowdSec installieren und konfigurieren
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:
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
container_name: owncloud_server
restart: unless-stopped
depends_on:
- mariadb
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=mariadb
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
- OWNCLOUD_OVERWRITE_CLI_URL=https://${OWNCLOUD_DOMAIN}
- OWNCLOUD_OVERWRITE_PROTOCOL=https
- OWNCLOUD_OVERWRITE_HOST=${OWNCLOUD_DOMAIN}
- OWNCLOUD_TRUSTED_PROXIES=172.31.191.254/18
- 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_DOMAIN}`)"
- "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.11
container_name: owncloud_mariadb
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=owncloud
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=owncloud
- MARIADB_AUTO_UPGRADE=1
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
Code-Sprache: PHP (php)
3. env anlegen
Nun legen wir uns noch eine Konfigurationsdatei an:
nano /opt/containers/owncloud/.env
Inhalt:
OWNCLOUD_VERSION=10
OWNCLOUD_DOMAIN=owncloud.euredomain.de
OWNCLOUD_TRUSTED_DOMAINS=owncloud.euredomain.de
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
Noch anzupassen:
Passt hier eure Domain und das Kennwort / Nutzername an.
4. ownCloud starten
Dazu gebt ihr folgendes ein:
docker compose -f /opt/containers/owncloud/docker-compose.yml up -d
Nun öffnet ihr eure Webseite owncloud.euredomain.de und solltet folgendes sehen:


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.