Crear tu PROPIA NUBE con SYNCTHING RASPBERRY PI nativa

Vamos a configurar Syncthing para hacer copia y sincronización de nuestros archivos entre equipos. Esta será una instalación nativa en Raspberry Pi OS, más abajo puedes ver como instalarlo en Docker.

Comandos para ejecutar la instalación en Linux

Vamos actualizar los paquetes del sistema primero.

sudo apt update
sudo apt upgrade

Si estás en una Raspberry Pi, es recomendable actualizar el firmare.

sudo rpi-update

Ahora ya podemos pasar el comando de instalación.

sudo apt install syncthing

Si te da error de apt-transport-https, tenemos que instalarlo para corregirlo, sino no hace falta.

sudo apt install apt-transport-https
sudo apt install -f

Configuración

Para arrancarlo basta con escribir el nombre y ejecutar.

syncthing

Si ves líneas que empiezan por INFO es que está corriendo correctamente, podemos pararlo con Control + C para seguir con la configuración.

Ahora vamos a editar el siguiente archivo con nano por ejemplo

nano ~/.config/syncthing/config.xml

Cambia la dirección 127.0.0.1 a 0.0.0.0. Quedará algo parecido a esto

<gui enabled="true" tls="false" debugging="false">
    <address>0.0.0.0:8384</address>
    <user></user>
    <password></password>
    <apikey></apikey>
    <theme>default</theme>
</gui>

Arrancar servicio Syncthing automáticamente

Es necesario copiar el siguiente contenido en el archivo /etc/systemd/system/syncthing@.service recuerda que puede ejecutarlo con nano delante, y sudo para que tengas permisos.

sudo nano /etc/systemd/system/syncthing@.service
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
Wants=syncthing-inotify@.service

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Se puede descargar de la siguiente forma pero a mí no me ha funcionado.

wget https://raw.githubusercontent.com/syncthing/syncthing/master/etc/linux-systemd/system/syncthing%40.service
sudo mv syncthing@.service /etc/systemd/system/

Ahora ejecutaremos los siguiente comandos para habilitar el servicio, arrancarlo y revisar como está.

sudo systemctl enable syncthing@pi.service
sudo systemctl start syncthing@pi.service
systemctl status syncthing@pi.service

Tutoriales de OpenMediaVault

Más tutoriales de OpenMediaVault que pueden serte útiles. 

/ ========================================= /

¿Quieres ser generoso y ayudar a apoyar mi canal?

A continuación, se muestran algunas formas de apoyo:

Hazte Miembro: http://www.playonlinew.com/miembro

Ko-fi: https://ko-fi.com/sirgamba

/ ========================================= /

¡Recuerda dejar un me gusta en este video y suscríbete si quieres ver más!

/ ========================================= /

👉 También puedes seguirme en:

► SUSCRIBETE https://goo.gl/qDLQKe

► FORO de ayuda http://Playonlinew.com

► Twitch: https://www.twitch.tv/gamba85

► Twitter: https://twitter.com/Gamba85_

► Facebook: https://goo.gl/NzWfVU

► Canal Gaming: http://www.playonlinew.com/gambagamer

► Discord https://discord.gg/pajjFWt

Fuente

 

Como instalar TRANSMISSION en OPENMEDIAVAULT 5 📚 Docker

Desde Portainer tenemos que crear un nuevo Stack compiendo este contenido y adaptarlo cambiando lo necesario. Como los Volumenes, usuario, contraseña, PGUID y PGID, como se muestra en el vídeo.

---
version: "2.1"
services:
  transmission:
    image: linuxserver/transmission
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Madrid
      - TRANSMISSION_WEB_HOME=/combustion-release/ #optional
      - USER=username #optional
      - PASS=password #optional
    volumes:
      - <path to data>:/config
      - <path to downloads>:/downloads
      - <path to watch folder>:/watch
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

Una vez instalado, para acceder tendemos que poner la IP o nombre de nuestro equipo seguido del puerto:

http://IP:9091/transmission/web/

🔒 TRANSMISSION dar permisos carpeta DOWNLOAD COMPLETE corregir 🔑 

📥 Cómo controlar TRANSMISSION desde nuestro SMARTPHONE – VPN 

👉 Apoya los vídeos para poder hacer más y mejor haciéndote MIEMBRO: https://www.youtube.com/channel/UCrXAtMTVWw_a7SKIbgB756Q/join 

 

🔐 Cómo instalar OPENVPN en OpenMediaVault 5 DOCKER

¿Qué es OpenVPN?

OpenVPN es una herramienta de conectividad basada en software libreSSL (Secure Sockets Layer), VPN Virtual Private Network (red virtual privada). OpenVPN ofrece conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente. Resulta una muy buena opción en tecnologías Wi-Fi (redes inalámbricas IEEE 802.11) y soporta una amplia configuración, entre ellas balanceo de cargas. Está publicado bajo la licencia GPL, de software libre.

Guía de instalación de OpenMediaVault 5

   Equipamiento requerido :

 Raspberry Pi Todos los modelos

 Tarjeta Micro SD «Mínimo 8 GB»
 Fuente de alimentación
 Cable Ethernet para conexión LAN
 Disco duro externo o unidad USB

     Opcional :

 Raspberry Pi carcasa

 Teclado y Ratón  

Crear volumen OVPN_DATA

OVPN_DATA="ovpn-data-openvpn"
docker volume create --name $OVPN_DATA

Configurar DNS dinámico

Después de que el DNS dinámico se haya creado correctamente, podemos reemplazar el VPN.SERVERNAME.COM con nuestra dirección y ejecutar el contenedor desde el comando siguiente:

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm darathor/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM

Generar certificado de CA

Introduciendo el siguiente comando nos pedirá meter una contraseña dos veces.

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it darathor/openvpn ovpn_initpki

 

 

Inicie el proceso del servidor OpenVPN

Tenemos primero que abrir el puerto en nuestro Router, podemos usar este vídeo como ejemplo pero poniendo el puerto 1194 interno y externo, y protocolo UDP. En el primer vídeo está también.

docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN darathor/openvpn

Metemos este comando de arriba con le puerto.

Generar un certificado de cliente sin una frase de contraseña

Con esto creamos un usuario para el cliente sin contraseña. Se puede cambiar CLIENTNAME por el nombre que queráis.

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it darathor/openvpn easyrsa build-client-full CLIENTNAME nopass

Cree y descargue la configuración del cliente con certificados incrustados

Aquí pondremos el mismo nombre que arriba.

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm darathor/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn

 

Descargar archivo de cliente

Para descargarlo, la opción más fácil es descargar WinSCP u otro programa FTP y conectarnos a nuestra IP como hacemos con Putty. 

Podemos pasarlo al móvil con Google Drive por ejemplo.

Configurar el cliente OpenVPN

Nos bajamos OpenVPN Client e importamos el archivo.


Iniciar contenedor docker automaticamente al encender

Vamos a crear un archivo con el siguiente contenido:

[Unit]
Description=NOMBRE_DOCKER  
Requires=docker.service  
After=docker.service

[Service]
Restart=always  
ExecStart=/usr/bin/docker start -a NOMBRE_DOCKER
ExecStop=/usr/bin/docker stop -t 2 NOMBRE_DOCKER

[Install]
WantedBy=default.target

Podemos crear el archivo conectando por Putty o por WinSCP.

Crear archivo:

touch docker-NOMBRE_DOCKER.service

Lo abrimos con nano y pegamos el contenido de arriba ya personalizado:

nano docker-NOMBRE_DOCKER.service

Copiamos el archivo a la carpeta especial de systemd:

sudo cp docker-NOMBRE_DOCKER.service /etc/systemd/system/

Lo habilitamos:

systemctl enable docker-NOMBRE_DOCKER.service

Al reiniciar nuestro SO debería de levantarse automáticamente nuestro contenedor.

 

Fuentes:

  • https://pcmac.biz/openvpn-on-openmediavault-5-raspberry-pi-4/
  • https://www.ingenieroperales.com/iniciar-un-contenedor-de-docker-automaticamente-al-reiniciar/

☁️ Como instalar NEXTCLOUD en Openmediavault

Hola, vamos a instalar NEXTCLOUD en Openmediavault, aunque este tutorial también vale para otros sistemas Linux como Debian, u otros adaptando los comandos.

Como una imagen vale más que mil palabras, os dejo primero el vídeo por si lo queréis ver.

A continuación, os dejo la lista de comandos que he usado, por si lo quieres ir copiando y pegando, por ejemplo si estás conectado con el buen Putty.

Es importante que si estás en OpenMediavault instalándolo, cambies el puerto 80 y si lo usas, el 443, por otros.

Instalar el servidor HTTP Apache2, MariaDB, PHP y módulos relacionados

sudo su – Para poder ejecutar todo con permisos.

apt-get install apache2
apt-get install apache2 mariadb-server libapache2-mod-php7.
apt-get install php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-mbstring
apt-get install php7.3-intl php-imagick php7.3-xml php7.3-zip

apt-get -y install gcc make autoconf libc-dev pkg-config
apt-get -y install libmcrypt-dev

apt-get install php-dev libmcrypt-dev php-pear
pecl install mcrypt
service apache2 restart

Descargar NextCloud

cd /var/www/html

wget https://download.nextcloud.com/server/releases/nextcloud-19.0.0.zip

* Puedes ver la última versión en su web y cambiarla por la 19.0.0, https://download.nextcloud.com/server/releases

apt-get install unzip

unzip nextcloud-19.0.0.zip

mkdir -p /var/www/html/nextcloud/data

chown -R www-data:www-data /var/www/html/nextcloud/

chmod 750 /var/www/html/nextcloud/data

Ver la IP de nuestro equipo: hostname -I

Crear la base de datos NextCloud

Ahora que ha instalado todos los paquetes necesarios, continúe a continuación para comenzar a configurar los servidores. Primero ejecute los siguientes comandos para crear una base de datos en blanco de NextCloud.

Para iniciar sesión en el servidor MariaDB, ejecute los siguientes comandos

sudo mysql -u root -p

Luego crea una base de datos llamada nextcloud

CREATE DATABASE nextcloud;

Cree un usuario de base de datos llamado nextclouduser con una nueva contraseña

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'NUEVACONTRASEÑA';

Luego otorgue al usuario acceso completo a la base de datos.

GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'CONTRASEÑAANTERIOR' WITH GRANT OPTION;

Finalmente, guarde sus cambios y salga.

FLUSH PRIVILEGES;
EXIT;

☁️ Como ACCEDER desde INTERNET NEXTCLOUD y con las APLICACIONES – Parte 2️⃣

El archivo que hay que modificar es: /var/www/html/nextcloud/config

Hay que añadir una línea debajo de 0 => ‘192.168.1.96’, que en vuestro caso tendrá vuestra IP. Poniendo 1 => ‘IP o dominio’ como la anterior.

$CONFIG = array (
  'instanceid' => '',
  'passwordsalt' => '',
  'secret' => '/YQtPMrC3g5f7dr',
  'trusted_domains' =>
  array (
    0 => '192.168.1.96',
    1 => 'IP o dominio'

🖪 NextCloud instalar DISCO DURO EXTERNO USB 🖫 Parte 3️⃣