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

Nel nostro cloud ci sono le mappe!

Nel cloud interno che è una installazione locale di nextcloud, stiamo usando l’app:

https://apps.nextcloud.com/apps/maps

e.. pare funzionare bene!

Basta caricare dei file gsx dentro al cloud e tu puoi dire di importarli alla mappa.

I file gsx non sono niente di stranissimo, sono degli xml.
E possibile editarli dal cloud finchè li chiami file.md poi quando gli cambi l’estensione per modificarle ti tocca scaricarli e ricaricarli.

Purtroppo non c’è un modo più rapido di aggiungere tracciati. Però i nodi con la stellina e/o associati ai tuoi contatti del cloud, sono aggiungibili con un click.

Insomma lo suggeriamo come map server casalingo.

Nel mentre però abbiamo anche aggiunto i nostri nodi sul mapserver di ninux!

map.ninux.org

I nodi attivi per la rete di val di venola sono:

  • ca bianca montasico
  • croce montasico
  • maggiolino

Per la val di samoggia:

  • cabattistini
  • fermenti 1
  • calabrone
  • passerotto
  • formica

Secondo servizio interno! Claudia scarica i torrent!

Chi ha accesso alla rete mesh ninux valsamoggia da qualche giorno può chiedere a Claudia, il nostro cloud, di scaricarle i Torrent.

Abbiam pensato che scaricare con li protocollo Torrent è bello, perchè ricondividi ciò che scarichi. Che però l’ottimale è farlo su un computer sempre acceso, quindi abbiamo pensato di mettere un client torrent su Claudia. Che scaricare direttamente ingombra la rete di tutti, mentre scaricare a poco a poco, o magari molto solo di notte, distribuisce meglio l’uso della banda.

Lo abbiamo fatto usando Transmission! che probabilmente già usate sulla vostra installazione di debian o ubunto o mint,…

Transmission ha una simpatica interfaccia web, da cui potete dargli ii link torrent/magnet link dei file che volete scaricare. In più è possibile impostare un limitatore di banda, per cui di giorno si scarica a 20Kb/s al secondo, quindi quasi niente, per poi permettergli di scaricare al massimo di quello che riesce, solo di notte.

Abbiamo poi scritto qualche riga di bash per far si che Claudia faccia due volte al giorno:

– copiare i file che sono nella cartella Download di Transmission e metterli nella cartella Download del cloud condiviso; lanciare un comando di nexcloud che fa indicizzare i nuovi file che trova nella cartella. In questo modo, al mattino ed alla sera si può guardare direttamente dal cloud se i file sono stati scaricati.