Pingvin Share representa una solución innovadora en el ámbito del intercambio de archivos, ofreciendo una plataforma autoalojada que se erige como una alternativa directa a servicios populares como WeTransfer.

Esta plataforma se distingue por permitir a los usuarios establecer su propio servidor para compartir archivos, lo que proporciona un mayor control sobre la privacidad y seguridad de los datos compartidos.

A diferencia de otras opciones del mercado que dependen de servidores de terceros, Pingvin Share apuesta por una mayor autonomía y flexibilidad, brindando a individuos y organizaciones la capacidad de gestionar sus necesidades de intercambio de archivos de manera más personalizada y segura.

Requisitos para Pingvin Share

Para poder instalar Pingvin Share es necesario tener acceso SSH a tu servidor y tener instalado lo siguiente:

NodeJS

Esta aplicación está escrita en NodeJS y para ello necesitamos tener instalado NodeJS. Para instalar NodeJS en nuestro servidor deberemos de seguir este otro tutorial:

Instalación de NodeJS en GNU/Linux [Debian, Ubuntu, CentOS]
En el siguiente tutorial os explicaremos la correcta instalación de NodeJS en GNU/Linux. Ya sea tu servidor un Ubuntu o Debian o CentOS aquí encontrarás las instrucciones correctas para su instalación.

Git

Tendremos que descargar el repositorio desde Git, así que tendremos que tener instalado el siguiente paquete:

apt update git

PM2

Para tener la aplicación ejecutándose en segundo plano es necesario utilizar PM2. Recientemente hemos escrito un artículo sobre como instalarlo:

Instalación y configuración de PM2: gestiona tus aplicaciones NodeJS
PM2 (Process Manager 2) es una herramienta imprescindible en el arsenal de cualquier administrador de sistemas que trabaje con aplicaciones Node.js.

Instalación Pingvin Share

Para hacer la instalación, lo primeros será descargarnos el repositorio desde Github:

git clone https://github.com/stonith404/pingvin-share

Accedemos al directorio:

cd pingvin-share

Iniciar el backend

Primero tendremos que instalar la parte de backend, para hacerlo ejecutaremos los siguientes comandos:

cd backend
npm install
npm run build
pm2 start --name="pingvin-share-backend" npm -- run prod

Iniciar frontend

En segundo lugar, tendremos que instalar la parte de frontend, para hacerlo ejecutaremos los siguientes comandos:

cd ../frontend
npm install
npm run build
pm2 start --name="pingvin-share-frontend" npm -- run start

Configurar Nginx Proxy

Con la aplicación levantada ahora podemos configurar un Nginx Proxy para acceder a través de un dominio y con SSL.

Configurar Proxy Inverso con Nginx para que escuche a un puerto interno
En ocasiones tenemos servicios o aplicaciones web que escuchan directamente a un puerto interno. Para evitar acceder a dicha aplicación o servicio por la IP del servidor, una configuración que podemos hacer es acceder desde un Nginx Proxy.

Acceder a la aplicación

Una vez tenemos la configuración de Nginx, podemos acceder con nuestro navegador favorito:

Nos podremos registrar, ya que el primer registro se convertirá en el administrador del sitio y tendremos opción a gestionar toda la configuración de la aplicación.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación