Wstęp
Nextcloud to pakiet oprogramowania klient-serwer do tworzenia i korzystania z usług hostingu plików. Jako bezpłatne oprogramowanie o otwartym kodzie źródłowym, każdy może zainstalować i obsługiwać je na własnych prywatnych urządzeniach serwerowych.
Nextcloud jest funkcjonalnie podobny do Dropbox, Microsoft 365 lub Google Drive, gdy jest używany ze zintegrowanymi rozwiązaniami pakietu biurowego Collabora Online lub OnlyOffice. Może być hostowany w chmurze lub lokalnie. Jest skalowalny, od rozwiązań dla biur domowych opartych na tanim Raspberry Pi, aż po pełnowymiarowe rozwiązania dla centrów danych, które obsługują miliony użytkowników.
Wymagania wstępne
1. Zainstalowany Docker Engine i Docker Compose
2. Znajomość Nginx Proxy Manager i Cloudflare
Instalacja
Tworzymy nowy folder a w nim plik docker-compose.yml:
mkdir nextcloud
cd nextcloud
sudo nano docker-compose.yml
Wklejamy następującą konfigurację dla dokcer-compose:
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=U93tCfEmjAHJ5ys #zmień to
- MYSQL_PASSWORD=BmPecm4wvE3eDrT #zmień to
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 8888:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=BmPecm4wvE3eDrT #zmień to tak aby pasowało z mysql_password wyżej
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
Zmieniamy hasła i w razie potrzeby możesz zmienić port na np. 8080:80. Zamykamy plik jednocześnie go zapisując naciskając Ctrl+X -> Y -> Enter
Uruchamiamy docker-compose komendą:
sudo docker compose up -d
Po udanej instalacji wpisujemy w przeglądarkę twoj_publiczny_adres_IP:8888, pojawi się następujący ekran:
Konfiguracja Cloudflare i Nginx Proxy Manager
Otwieramy panel Cloudflare i dodajemy wpisy DNS takie jak poniżej:
Instalujemy Nginx Proxy Manager zgodnie z poradnikiem: Instalacja Nginx Proxy Manager
Tworzymy nowy Proxy Host:
Po utworzeniu Proxy Host z Certyfikatem SSL włączamy proxy w Cloudflare:
Teraz możemy korzystać z aplikacji:
Zwiększenie limitu wielkości przesyłanego pliku
Domyślnie NextCloud pozwala na przesłanie pliku o wielkości max 512 MB:
sudo docker exec -it nextcloud_app_1 bash
apt update
apt install nano
nano .htaccess
Dodajemy następujące parametry i zapisujemy plik:
Wychodzimy z kontenera poleceniem exit i restartujemy kontener:
exit
sudo docker restart nextcloud_app_1
Po odświeżeniu strony pojawią się nowe limity: