Cómo alojar y compartir archivos grandes en línea con PicoShare en Linux

Picoshare es una aplicación web ligera y altamente accesible para compartir archivos en Linux. Proporciona una interfaz fácil de usar donde puedes subir y compartir archivos desde tu propio servidor. Este artículo te mostrará cómo instalar Picoshare y compartir archivos en línea usando Docker en Ubuntu Linux.
Tabla de Contenidos
- Por qué usar Picoshare para compartir archivos en línea
- Instalando los requisitos previos para PicoShare
- Instalando y ejecutando PicoShare
- Asegurando PicoShare con un proxy inverso SSL
- Probando PicoShare y subiendo tu primer archivo
Por qué usar Picoshare para compartir archivos en línea
Uno de los mayores puntos de venta de PicoShare es que es muy fácil de implementar en cualquier plataforma basada en Linux. Con la ayuda de Docker, puedes compartir archivos en línea con PicoShare sin preocuparte por las dependencias de Linux y la compatibilidad del programa.
Otro punto de venta de PicoShare es que no manipula los archivos que subes a su plataforma. Esto lo hace útil para compartir imágenes y videos, ya que puedes estar seguro de que el servidor no volverá a codificar tus medios mientras los subes.

Por último, PicoShare viene con la capacidad de duplicar su almacenamiento de archivos a soluciones de almacenamiento de objetos externas. Por ejemplo, puedes vincular tu bucket compatible con Amazon S3 a tu servidor PicoShare y crear una copia de seguridad 1:1 del contenido de tu servidor. Esto facilita la restauración de datos al migrar de un sistema a otro.
Instalando los requisitos previos para PicoShare
Suposición: Este tutorial se realiza en una máquina Ubuntu 24.04 con al menos 2 GB de RAM y 50 GB de espacio en disco. Necesitarás tener un nombre de dominio para el cual puedas crear registros “A”. Por último, este artículo usará DigitalOcean Spaces como su backend de almacenamiento de objetos compatible con S3.
Nota: Aunque las instrucciones aquí son para Ubuntu, también deberían funcionar para la mayoría de las distribuciones de Linux.
El primer paso para instalar PicoShare es obtener tanto Docker como Nginx para tu sistema anfitrión (para otras distribuciones de Linux, aquí está cómo instalar Docker en tus sistemas Linux). Para comenzar, recupera la clave de firma para el repositorio del proyecto Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg
sudochmod a+r /etc/apt/keyrings/docker.gpgCrea un nuevo archivo de repositorio apt usando tu editor de texto favorito:
sudonano/etc/apt/sources.list.d/docker.listPega la siguiente línea de código dentro de tu nuevo archivo de repositorio:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stableGuarda tu archivo de repositorio, luego actualiza tanto las listas de repositorios del sistema como sus paquetes actuales:
sudo apt update &&sudo apt upgradeInstala Docker, Docker Compose y Nginx usando apt en Ubuntu:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginxCreando una copia de seguridad de almacenamiento en la nube para PicoShare
Ve a tu proveedor de almacenamiento en la nube compatible con S3, luego crea un nuevo bucket de almacenamiento. En este caso, estoy usando DigitalOcean Spaces, así que haré clic en Crear -> Almacenamiento de Objetos Spaces en mi pantalla de panel de control.

Selecciona una ubicación de centro de datos para tu almacenamiento compatible con S3, luego marca la casilla Habilitar CDN.

Proporciona un nombre para tu nuevo bucket de Spaces, luego haz clic en Crear un Bucket de Spaces para inicializarlo.

Haz clic en el Icono de Copia en el cuadro de texto del Endpoint de Origen y pégalo en un archivo de texto separado.

Desplázate por la barra lateral izquierda de tu panel de control de DigitalOcean, luego haz clic en la categoría API.
Haz clic en la pestaña Claves de Spaces, luego selecciona Generar Nueva Clave.
Proporciona un nombre para tu nueva clave, luego haz clic en Crear Clave de Acceso.
Copia tanto la “Clave de Acceso” como la “Clave Secreta” de la página y pégala en tu archivo de texto.

Instalando y ejecutando PicoShare
Crea una nueva carpeta para PicoShare dentro del directorio de inicio de tu usuario, luego entra en ella:
mkdir ~/picoshare &&cd ~/picoshareUsa tu editor de texto favorito para crear el archivo Compose para PicoShare:
nano ./docker-compose.ymlPega el siguiente bloque de código dentro de tu nuevo archivo .yml:
version: "3.2"
services:
picoshare:
image: mtlynch/picoshare
environment:
- PORT=4001
- PS_SHARED_SECRET=RANDOM PASSWORD HERE
- LITESTREAM_BUCKET="YOUR BUCKET NAME"
- LITESTREAM_ENDPOINT="YOUR ORIGIN ENDPOINT HERE"
- LITESTREAM_ACCESS_KEY_ID="YOUR BUCKET ACCESS ID HERE"
- LITESTREAM_SECRET_ACCESS_KEY="YOUR BUCKET SECRET HERE"
ports:
- 4001:4001
command: -db /data/store.db
volumes:
- ./data:/dataReemplaza el valor de la variable “PS_SHARED_SECRET” con una contraseña suficientemente larga y aleatoria. Esta servirá como la contraseña para la interfaz web de PicoShare.

Nota: puedes generar tu propia contraseña aleatoria ejecutando: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1 en una sesión de terminal separada.
Cambia el valor de la variable “LITESTREAM_BUCKET” con el nombre de tu bucket de Spaces.

Copia la región y la parte del nombre de dominio de tu endpoint, luego pégala como el valor de tu variable “LITESTREAM_ENDPOINT”.

Reemplaza los valores de las variables “LITESTREAM_ACCESS_KEY_ID” y “LITESTREAM_SECRET_ACCESS_KEY_ID” con la Clave de Acceso y la Clave Secreta del bucket de DigitalOcean Spaces.

Guarda tu archivo docker-compose.yml, luego ejecuta el siguiente comando para construir y ejecutar la instancia de PicoShare:
sudodocker compose up -dPor otro lado: también puedes usar Docker y Docker Compose para alojar rápidamente un servidor de Minecraft en tu máquina Linux.
Asegurando PicoShare con un proxy inverso SSL
En este punto, ahora tienes PicoShare ejecutándose en el puerto 4001 en tu máquina local. Para acceder a él de manera segura en Internet, necesitas asegurarte de que todas las conexiones a él estén cifradas a través de SSL.
Comienza creando un nuevo registro “A” para tu nombre de dominio apuntando a la dirección IPv4 de tu servidor PicoShare. En mi caso, crearé un registro “A” con el valor “picoshare.”
Instala el paquete snap “core” en tu sistema Ubuntu:
sudo snap install coreObtén el paquete snap certbot de la Electronic Frontier Foundation (EFF):
sudo snap install certbot --classicCrea un nuevo archivo de configuración del sitio Nginx usando tu editor de texto favorito:
sudonano/etc/nginx/sites-available/picosharePega el siguiente bloque de código dentro de tu archivo de configuración del sitio:
server{
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;
location / {
proxy_passhttp://127.0.0.1:4001;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
client_max_body_size 0m;
}
}Guarda tu archivo de configuración del sitio, luego crea un enlace simbólico desde tu directorio “/etc/nginx/sites-available/“ a tu carpeta “/etc/nginx/sites-enabled/“:
sudoln-s/etc/nginx/sites-available/picoshare /etc/nginx/sites-enabled/Verifica tu archivo de configuración de Nginx en busca de errores, luego inicia el daemon del servidor web Nginx usando systemctl:
nginx -t
sudo systemctl enable--now nginx.service
Registra tu servidor PicoShare usando la utilidad certbot de EFF:
sudo certbot register --agree-tos-m [email protected]Genera un nuevo certificado SSL apuntando al nombre de dominio de tu servidor:
sudo certbot --nginx-d SUBDOMAIN.YOUR-ROOT.DOMAINBueno saber: aprende cómo HTTPS protege tus datos en línea generando tu propio certificado SSL con OpenSSL.
Probando PicoShare y subiendo tu primer archivo
Abre un navegador web, luego navega a tu subdominio para cargar la página de inicio de PicoShare.

Haz clic en el botón Iniciar sesión en la esquina superior derecha de la página.
Proporciona el valor de “PS_SHARED_SECRET” en el cuadro de texto Frase de contraseña, luego haz clic en Autenticar para iniciar sesión.

Verifica si puedes guardar datos en tu servidor PicoShare haciendo clic en el botón Subir, luego selecciona un archivo de muestra a través del menú de selección.

Copia el primer enlace que el servidor devuelve al usuario al que deseas compartir tu archivo.

Habilitar cargas temporales de invitados en PicoShare
Además de las cargas enviadas por los usuarios, también puedes crear enlaces temporales que permitan a los usuarios anónimos subir archivos individuales en tu servidor. Esto puede ser útil si tienes a alguien que necesita compartir archivos contigo pero no puede subir archivos a un servicio de nube regular.
Comienza haciendo clic en la categoría Enlaces de Invitados en la página de inicio de PicoShare.

Haz clic en el botón Crear Nuevo justo encima de la tabla de resumen de enlaces vacía.
Proporciona los detalles básicos para tu enlace de carga de invitados. En mi caso, lo etiquetaré como “MakeTechEasier” y estableceré la expiración en Nunca con un límite de tamaño de archivo de 100 MB y un límite total de 10 cargas.

Haz clic en Crear para generar el enlace temporal de invitado para tu instancia de PicoShare.
Haz clic en el Icono de Copia en el lado derecho del enlace de invitado, luego envía el contenido de tu portapapeles al destinatario previsto.

Desplegar y asegurar PicoShare para compartir archivos en línea usando Linux es solo el primer paso para recuperar tu privacidad digital en línea. Aprende cómo puedes protegerte aún más al alojar tu propio servidor de alias de correo electrónico usando SimpleLogin.
Crédito de la imagen: Alejandro Escamilla a través de Unsplash y PicoShare Github. Todas las alteraciones y capturas de pantalla por Ramces Red.