Skip to main content

Pingvin Share: comparte archivos de forma sencilla y autohospedada


Introducción

Pingvin Share es una aplicación de código abierto que permite compartir archivos de manera simple, rápida y privada. Inspirada en servicios como WeTransfer, pero sin depender de terceros, puedes alojarla en tu propio servidor para mantener el control total de tus datos. Es ideal para quienes buscan una opción autohosteada, segura y fácil de configurar.


Características

  • Interfaz web sencilla y amigable.
  • Transferencia de archivos privada, sin almacenamiento en la nube de terceros.
  • Posibilidad de personalizar el almacenamiento y apariencia.
  • Configuración ligera a través de Docker.

Requisitos

  • Docker y Docker Compose instalados en tu sistema.
  • Un volumen accesible para almacenar los datos y las imágenes.
  • Puerto disponible en tu servidor (por defecto, 3008).

Configuración

A continuación, se detalla el archivo docker-compose.yml necesario para desplegar Pingvin Share:

docker-compose.yml

services:
  pingvin-share:
    image: stonith404/pingvin-share # or ghcr.io/stonith404/pingvin-share
    container_name: PGShare
    network_mode: bridge
    restart: unless-stopped
    ports:
      - 3008:3000
    environment:
      - TRUST_PROXY=true # Set to true if a reverse proxy is in front of the container
    volumes:
      - "/mnt/shared/PGShare/data:/opt/app/backend/data"
      - "/mnt/shared/PGShare/data/images:/opt/app/frontend/public/img"

Paso a paso

  1. Preparar el entorno

    • Asegúrate de que Docker y Docker Compose estén instalados y funcionando correctamente.
    • Crea las carpetas necesarias para almacenar los datos de la aplicación. En el ejemplo anterior:
      • /mnt/shared/PGShare/data: para los archivos subidos.
      • /mnt/shared/PGShare/data/images: para las imágenes de la interfaz.
  2. Configurar el archivo docker-compose.yml

    • Copia el código anterior en un archivo llamado docker-compose.yml.
    • Personaliza las rutas del volumen según tu estructura.
  3. Levantar el servicio

    • Ejecuta el siguiente comando desde la ubicación de tu archivo docker-compose.yml:
      docker-compose up -d
      
    • Esto descargará la imagen necesaria, creará el contenedor y lo pondrá en funcionamiento.
  4. Acceder a Pingvin Share

    • Abre un navegador web y accede a http://<tu-servidor>:3008.
    • Si tienes un proxy inverso configurado, puedes acceder mediante el dominio o subdominio configurado.

Configuración avanzada (opcional)

  • Reverse Proxy: Si usas un proxy inverso como Nginx o Caddy, asegúrate de configurar TRUST_PROXY=true en las variables de entorno para que funcione correctamente.
  • Personalización: Puedes modificar los directorios de almacenamiento para adaptarlos a tus necesidades.

Notas adicionales

  • Si estás utilizando Cloudflare como proxy inverso, debes habilitar el chunkeado de archivos (dividirlos en partes) para evitar problemas con el límite de 100 MB por archivo de Cloudflare. Puedes configurarlo para que divida los archivos en partes de 70 MB, por ejemplo. Esto se puede configurar en la aplicación según tus necesidades específicas.

Conclusión

Pingvin Share es una solución práctica y flexible para compartir archivos de forma privada. Su configuración sencilla con Docker la hace accesible incluso para usuarios sin mucha experiencia en administración de servidores. ¡Anímate a probarlo y ten el control total de tus transferencias de archivos!


Referencias