ACCEDER DESDE EL EXTERIOR Raspberry Pi – Nginx Proxy Manager – Docker – OMV6

Hola, vamos a configurar en nuestro equipo servidor dos docker, uno de Duckdns para ir actualizando la IP dinámica con su web y otro de Nginx Proxy Manegar, para hacer un proxy inverso y así no tener que abrir tantos puertos.

Aquí te dejo para que copies y pegues los docker, tienes que crear un archivo por cada uno llamada docker-compose.yml

Docker DUCKDNS

version: "2.1"
services:
duckdns:
image: linuxserver/duckdns:arm32v7-version-e60b35ff
container_name: duckdns
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- SUBDOMAINS=
- TOKEN=
- LOG_FILE=false
volumes:
- ./appdata/config:/config l
restart: unless-stopped

Docker Nginx Proxy Manager

version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
# Public HTTP Port1:
- '80:80'
# Public HTTPS Port:
- '443:443'
# Admin Web Port:
- '81:81'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql

Accedemos a Nginx por la IP o nombre de nuestro equipo más el puerto 81, por ejemplo: 192.168.1.X:81

El usuario y contraseña es:

admin@example.com

changeme

Tendrás que abrir puertos, aquí lo vemos en Digi, pero suele ser similar en otros Router, si tienes duda, puedes buscar el tuyo y tu proveedor de internet por Google.

Tutorial anterior:

http://www.playonlinew.com/nginx-proxy-manager

Instalar OPENMEDIAVAULT 6 en RASPBERRY PI

Vamos a instalar OpenMediaVault 6 en Raspberry Pi.

Para ello necesitamos actualizar primero nuestros Raspberry Pi S.O./Raspbian a Debian 11, te dejo por aquí un vídeo de como hacerlo.

Instalación OPENMEDIAVAULT 6 Configuración y primer vistazo

Por aquí abajo tienes todo lo necesario para actualizar sacado de esta Fuente y el canal amigo Cacharreando con Juan

Crear MicroSD
Se tiene que crear un fichero en la partición boot. Se tiene que llamar ssh, sin formato.

SSH
Usuario: pi
Contraseña: raspberry

Para cambiar la contraseña del usuario Pi en SSH.
passwd


Actualizar Debian 10
apt update
apt upgrade
apt full-upgrade

cd /etc/apt/
nano sources.list

Hay que sustituir buster por bullseye. Ejemplos:
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-backports main contrib non-free


Actualizar a Debian 11 Bullseye

apt update
apt upgrade
apt full-upgrade

Damos a Q

reboot


Instalamos OMV 6

sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

apt update
apt upgrade

Instalación OPENMEDIAVAULT 6 Configuración y primer vistazo

En este video veremos cómo instalar y configurar OpenMediaVault 6. OpenMediaVault está diseñado principalmente para usarse en entornos domésticos o pequeñas oficinas en el hogar, pero no se limita a esos escenarios. Es una solución lista para usar, simple y fácil de usar que permitirá a todos instalar y administrar un almacenamiento adjunto a la red sin un conocimiento más profundo. 

Instalar OPENMEDIAVAULT 6 en RASPBERRY PI

Enlaces OMV:

https://sourceforge.net/projects/openmediavault/files/6.0/

https://sourceforge.net/projects/openmediavault/

Para instalar los OMV-Extras ejecutar desde SSH como root el siguiente comando:

wget -O - https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install | sudo bash

Puedes ver más vídeos de OpenMediaVault en nuestra lista: 

 

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

 

Instalar y configurar DUPLICATI – Openmediavault

Vamos a instalar el complemento Duplicati como Docker para hacer copia de seguridad de lo que queramos a otro disco duro, en red o hasta en la nube. En este caso, lo vamos a usar para hacer backup de los Docker instalados.

Uso

A continuación, se muestran fragmento de código de ejemplo que le ayudarán a empezar a crear un contenedor.

docker-compose 

Compatible con esquemas docker-compose v2.

---
version: "2.1"
services:
  duplicati:
    image: linuxserver/duplicati
    container_name: duplicati
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - CLI_ARGS= #optional
    volumes:
      - </path/to/appdata/config>:/config
      - </path/to/backups>:/backups
      - </path/to/source>:/source
    ports:
      - 8200:8200
    restart: unless-stopped

https://hub.docker.com/r/linuxserver/duplicati

Plantillas Aplicaciones PORTAINER 2 0 con TAISUN

Como tras actualizar a Portainer 2.0 las plantillas anterior no nos funcionan, vamos a ver como podemos ir usando plantillas, por ejemplo con Taisun

Antés de nada te dejo este artículo oficial como alternativa.

Cómo convertir sus plantillas para 1.xa 2.0

How to convert your templates for 1.x to 2.0

Taisun

Para instalar Taisun , simplemente copie el siguiente código en una nueva Stack de Portainer:

---
version: "2"
services:
  taisun:
    image: linuxserver/taisun
    container_name: taisun
    network_mode: bridge
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 3000:3000
    restart: unless-stopped

Bajar a la versión 1.24.x

Siempre puedes volver a la versión anterior con los siguientes comandos.

docker stop portainer
docker rm portainer

Una vez que hayas eliminado Portainer, puedes ejecutar los siguientes comandos para ejecutar la versión 1.24.x:

docker volume create portainer_data
docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Tutoriales de OpenMediaVault

Fuente

Cómo instalar MiniDLNA en Raspberry Pi

Usaremos los siguientes comandos:

Instalarlo: 

sudo apt-get install minidlna

Configurar y hacer copia del archivo original:

sudo cp /etc/minidlna.conf /etc/minidlna.conf.copia
sudo nano /etc/minidlna.conf

Rutas que añadir a la biblioteca DLNA. Podemos añadir tantas como queramos, por ejemplo, /mnt/ o /media/usb0 para las unidades usb.

* «A» para audio (p. Ej. Media_dir = A, / var / lib / minidlna / music)
* «P» para imágenes (p. Ej. Media_dir = P, / var / lib / minidlna / pictures)
* «V» para video (p. Ej. Media_dir = V, / var / lib / minidlna / videos)
* «PV» para imágenes y videos (p. Ej. Media_dir = PV, / var / lib / minidlna / digital_c 

media_dir=/home/pi/
media_dir=/media/usb0

# Ruta al directorio que debe contener la base de datos y el caché de la carátula del álbum.
db_dir = / var / cache / minidlna

# Interfaces de red a las que enlazar (p. Ej., Eth0), delimitadas por comas.
# Esta opción se puede especificar más de una vez.
interfaz_de_red = eth0

Revisar permisos en las carpetas que hemos añadido de lectura y ejecución para otros.

Nombre de nuestro servidor en la red.
friendly_name=Raspi_DLNA

Tarjetas de red que se van a utilizar (separadas por coma).
network_interface=eth0,wlan0

sudo service minidlna restart

sudo minidlnad -R

Cómo: Cambiar / mover el directorio de datos en NEXTCLOUD

Configuración del servidor web Apache

Tenemos que comprobar si existe y si no es así crear un archivo en la siguiente ruta. Reemplazando el Directorio y otras rutas de archivos con sus propias rutas de archivos:

cd /etc/apache2/sites-available
nano nextcloud.conf

El contenido será el siguiente, donde lo que nos importa en esta parte es que esté Options +FollowSymlinks 

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

Luego habilita el sitio recién creado:

a2ensite nextcloud.conf

Mover carpeta Data del usuario en cuestión.

  • Asegúrate de que no se esté ejecutando trabajos cron de Apache.
  • Parar ser servicio de Apache
    service apache2 stop
  • Mover la carpeta del usuario /data a la nueva ubicación usando este ejemplo y cambiándolo por tus rutas:
cd /var/www/html/nextcloud

cp -r data /srv/dev-disk-by-label-datos/nextcloud

mv data data.old
  • Cree un enlace simbólico desde la ubicación original a la nueva ubicación
    ln -s /srv/dev-disk-by-label-datos/nextcloud/data data
  • Asegúrate de que los permisos sigan siendo correctos en el enlace simbólico que hemos creado en /var/www/html/nextcloud. El propietario no puede ser Root, hay que verlo y cambiarlo con los siguientes comandos:
    ls -al

    chown -h www-data:www-data data

    chown -R www-data:www-data data
  • También comprueba los permisos de la carpeta que has movido:
cd /srv/dev-disk-by-label-datos/nextcloud/
chown -h www-data:www-data data
chown -R www-data:www-data data
  • Inciar servicio Apache
    service apache2 start

Fuentes:

https://help.nextcloud.com/t/howto-change-move-data-directory-after-installation/17170

https://help.nextcloud.com/t/is-there-a-safe-and-reliable-way-to-move-data-directory-out-of-web-root/3642/4

https://docs.nextcloud.com/server/13/admin_manual/installation/source_installation.html#apache-web-server-configuration

🔐 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️⃣

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies