NEXCLOUD IN LOCALE sotto rete mesh comunitaria

Si era partite con un’installazione su di un Raspberry Pi 3 con un hard-disk esterno
per poi accorgerci che questo ha solo porte USB 2.0 e quindi tra noi e i files condivisi si veniva a creare un bell’imbuto.

Siamo quindi passate ad una “macchina vera” ovvero ad un vecchio fisso su cui abbiamo messo una Debian.
Per fare dei test un Raspberry può essere comodo!

– installare rasbian
https://www.raspberrypi.org/downloads/raspbian/

scarichiamo la versione lite
e ne controlliamo la veridicità
$ sha256sum [nomefile]

– creiamo un file vuoto in /boot e lo chiamiamo ssh
$ cd /boot
$ touch ssh

– autenticarsi via ssh, password: raspberry
$ ssh pi@indirizzoIP

– cambiamo password utente
$ passwd

– IP fisso lato antenne
http://thisnode.info/cgi-bin/luci/admin/network/dhcp
in basso c’è “static lease”

ne creiamo una nuova
assegnando l’IP e l’hostname che vogliamo al raspberry

– installare docker e docker-compose: copiato da https://github.com/nextcloud/docker
# apt update
# apt install docker
# apt install docker-compose

assegnamo al gruppo docker anche il nostro utente
$ usermod -aG docker $USER

– per avere un hd montato sempre nello stesso punto rimandiamo a https://help.ubuntu.com/community/Fstab

Nextcloud con certificato SSL self-signed

Abbiamo preso come riferimento il docker-compose.yml che si trova qui:
https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/with-nginx-proxy-self-signed-ssl/mariadb/fpm

per poi decidere di lasciar perdere con fpm – fatcgi process manager – che ci dava un po’ di problemi di permessi
abbiamo però tenuto le configurazioni di nginx, copiandoci la cartella proxy con il Dockerfile e uploadsize.conf

ecco quindi il docker-compose.yml che abbiamo in /var

version: '3'

services:

  proxy:
    build: ./proxy
    container_name: nextcloud-proxy
    networks:
      - nextcloud_network
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./proxy/conf.d:/etc/nginx/conf.d:rw
      - ./proxy/vhost.d:/etc/nginx/vhost.d:rw
      - ./proxy/html:/usr/share/nginx/html:rw
      - ./proxy/certs:/etc/nginx/certs:ro
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    restart: unless-stopped
    depends_on:
      - omgwtfssl

  omgwtfssl:
    image: paulczar/omgwtfssl
    restart: "no"
    volumes:
      - ./proxy/certs:/certs
    environment:
      - SSL_SUBJECT=claudia
      - CA_SUBJECT=
      - SSL_KEY=/certs/claudia.key
      - SSL_CSR=/certs/claudia.csr
      - SSL_CERT=/certs/claudia.crt
    networks:
      - nextcloud_network

  db:
    image: mariadb
    container_name: nextcloud-mariadb
    networks:
      - nextcloud_network
    volumes:
      - db:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    environment:
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_PASSWORD=
      - MYSQL_DATABASE=
      - MYSQL_USER=
    restart: unless-stopped

  app:
    image: nextcloud:latest
    container_name: nextcloud-app
    networks:
      - nextcloud_network
    depends_on:
      - omgwtfssl
      - proxy
      - db
    volumes:
      - nextcloud:/var/www/html
      - ./app/config:/var/www/html/config
      - ./app/custom_apps:/var/www/html/custom_apps
      - ./app/data:/var/www/html/data
      - ./app/themes:/var/www/html/themes
      - /etc/localtime:/etc/localtime:ro
    environment:
      - VIRTUAL_HOST=claudia
    restart: unless-stopped

volumes:
  nextcloud:
  db:

networks:
  nextcloud_network:

– una volta copiato il docker-compose.yml in /var, far partire nextcloud
$ cd /var
$ docker-compose up -d

– controllare che stia andando
$ docker-compose ps -a
$ docker system df

– per dare comandi aggiornamento, di nextcloud, fonte: https://github.com/nextcloud/docker
$ docker-compose exec –user www-data app php occ

– altre info e comandi utili su
https://campiaperti.org/documentazione/mydoc_server.html

claudia e camomilla
Creative Commons License
Except where otherwise noted, https://antennine.noblogs.org on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.