PSSStudio
Nextcloud · Docker · OMV

Nextcloud na OpenMediaVault w Dockerze

Aktualizacja: lipiec 2026 · czas czytania ~9 min

Nextcloud to Twój własny Dropbox/Google Drive — pliki, kalendarz, kontakty i zdjęcia trzymane na własnym serwerze, bez miesięcznego abonamentu i bez oddawania danych komuś w chmurze. Jeśli masz NAS z OpenMediaVault i Dockerem, postawisz go w kilkanaście minut. Kluczowe, żeby zrobić to dobrze: osobna baza danych, trwałe wolumeny i HTTPS przez reverse proxy.

Założenia. OMV 6/7 z wtyczką openmediavault-compose (Docker). Katalog danych na dysku macierzy. Domena albo subdomena (np. cloud.twojadomena.pl) wskazująca na serwer, jeśli chcesz dostęp z zewnątrz.

Krok 1: docker-compose z bazą MariaDB

Nextcloud działa najlepiej z osobną bazą MariaDB (nie z domyślnym SQLite). W OMV → Services → Compose → Files dodaj stack:

services:
  nextcloud-db:
    image: mariadb:11
    container_name: nextcloud-db
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    environment:
      MYSQL_ROOT_PASSWORD: <silne_haslo_root>
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: <silne_haslo_db>
    volumes:
      - /srv/dev-disk-by-.../appdata/nextcloud/db:/var/lib/mysql

  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    restart: unless-stopped
    depends_on:
      - nextcloud-db
    ports:
      - "8081:80"
    environment:
      MYSQL_HOST: nextcloud-db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: <silne_haslo_db>
      NEXTCLOUD_TRUSTED_DOMAINS: cloud.twojadomena.pl
    volumes:
      - /srv/dev-disk-by-.../appdata/nextcloud/html:/var/www/html
      - /srv/dev-disk-by-.../appdata/nextcloud/data:/var/www/html/data

Podmień ścieżki i hasła. Rozdzielenie wolumenu data (pliki użytkowników) od html (aplikacja) ułatwia późniejsze backupy i aktualizacje.

Krok 2: pierwsze logowanie

Po Up wejdź na http://IP_SERWERA:8081, załóż konto administratora i wskaż połączenie z bazą (host nextcloud-db, baza/user/hasło jak w compose). Kreator dokończy instalację.

Krok 3: HTTPS przez reverse proxy

Nie wystawiaj Nextclouda po HTTP. Postaw przed nim reverse proxy (nginx/Traefik/Caddy) z certyfikatem. Ważne nagłówki i przekierowania, żeby Nextcloud nie zgłaszał ostrzeżeń bezpieczeństwa:

location / {
    proxy_pass http://127.0.0.1:8081;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    client_max_body_size 0;   # duze pliki (upload)
}

W config/config.php dopisz zaufane proxy i protokół, żeby generowane linki były po HTTPS:

'trusted_proxies' => ['192.168.100.98'],
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://cloud.twojadomena.pl',
Uwaga na upstream DNS. Jeśli w sieci masz filtrujący DNS (np. AdGuard z upstreamem rodzicielskim), a Nextcloud pobiera aktualizacje/aplikacje — czasem trzeba dodać serwer do listy pomijającej filtrację, żeby nie blokował potrzebnych hostów. Ten sam mechanizm dotyczy innych kontenerów pobierających obrazy.

Krok 4: backup

Własna chmura ma sens tylko z backupem. Do skopiowania są trzy rzeczy: katalog data (pliki), katalog html (konfiguracja) i zrzut bazy:

docker exec nextcloud-db mysqldump -u nextcloud -p<haslo> nextcloud > nextcloud-db-$(date +%F).sql

Backup rób z włączonym trybem konserwacji (occ maintenance:mode --on) albo w nocy przy minimalnym ruchu.

Sprzęt pod własną chmurę

NAS albo mini-PC z dyskiem na dane

Nextcloud lubi trochę RAM-u (2 GB+) i szybki dysk na bazę. Wygodny zestaw to mini-PC N100 z dyskiem SSD na system/bazę i większym HDD/SSD na pliki użytkowników.

Zobacz NAS i mini-PC ›
Link afiliacyjny — prowizja dla nas, cena dla Ciebie bez zmian.

Podsumowanie

Zobacz też: AdGuard Home w Dockerze na OMV.