Nextcloud / Owncloud aarch64 Docker
Running on odroid c2 (Arch Linux 3.14.79-3-ARCH aarch64) with Docker (1.12.1):
Angepasst wurde folgendes
- Base Image von
php:7.0.9-apache
zuaarch64/php:7.0-apache
- ldap
–with-libdir=lib/x86_64-linux-gnu/
auf–with-libdir=lib/aarch64-linux-gnu/
- Nextcloud auf Version 10.0.1 angehoben
- Im offizielen nextcloud repositiory findet man ein shell skript, um die Versionsnummer automatisiert im Dockerfile zu handeln
- add smbclient (libsmbclient-dev && pecl)
Zu finden auf
Auf dem C2 dauert das Kompilieren mind 10 Minuten. Die Temperatur ist auf 50 Grad angestiegen (via /sys/class/thermal/thermal_zone0/temp
)
Container öffentlich verfügbar machen über Reverse (auto)SSH Tunnel
Nicht für den produktiven Einsatz gedacht aber für einen Schnelltest kann man die Nextcloud Instanz relativ flott öffentlich verfügbar machen. Man braucht dafür einen Server mit fester + öffentlich erreichbaren IP Adresse:
Server:
- SSHD + Konto mit public key anmeldung
- Apache Server + Mod Reverse Proxy (bzw jeden anderen Reverse Proxy)
Client:
- autossh (oder ssh)
- Optional init script für systemd / upstart (..) für tunnel + nextcloud container
Getestet auf Odroid C2
# nextcloud server: $ docker run -d -p 8080:80 -v /mnt/data:/var/www/html --name nextcloud-server nextcloud-image # entweder direkt im Verzeichnis editieren oder, falls dateien alle im Container liegen, in den Container einsteigen und config.php editieren $ docker exec -ti nextcloud-server /bin/bash # falls nano installiert $ docker> TERM=linux nano ./config/config.php
Einfügen:
'trusted_proxies' => array ( 0 => '127.0.0.1', ), 'overwritehost' => 'example.com', 'overwriteprotocol' => 'https', 'overwritewebroot' => '/nextcloud',
# Container commit $ docker commit nextcloud-server # SSH Tunnel mit autossh verwalten (pubkey, passwortlos) internet:7777->ssh-tunnel<-odroid:8080 $ autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -N -R 7777:127.0.0.1:8080 user@example.com
Remote
# Public Apache + mod_proxy # SSL VHOST Konfiguration editieren:
ProxyRequests Off ProxyPreserveHost on <Proxy *> Order allow,deny Allow from all </Proxy> # nextcloud ProxyPass /nextcloud http://127.0.0.1:7777 ProxyPassReverse /nextcloud http://127.0.0.1:7777
Installation starten über den Browser http://example.com/nextcloud