← Blog

Aloja una biblioteca privada tipo Thingiverse

Cuánto de un sitio de modelos puedes reproducir: previsualizaciones, búsqueda, etiquetas y colecciones, sin catálogo, comentarios ni galerías. Qué compartir.

guíaautoalojadodocker

Thingiverse hace dos trabajos a la vez. Guarda archivos y, además, es el sitio donde viven los modelos, los comentarios, los remixes y las fotos de unos cuantos millones de personas. Una biblioteca en tu propio servidor sustituye bien el primer trabajo y el segundo no lo sustituye en absoluto. Quien lee un hilo del estilo “monta tu propio Thingiverse” y sale de ahí esperando las dos cosas se lleva una decepción el segundo día.

La respuesta corta es que puedes tener la parte de navegar por tus propios archivos, y se parece bastante a lo que te estás imaginando. Lo que pierdes es el catálogo y la gente, y ninguna de esas dos cosas se puede autoalojar.

La experiencia de navegación que sí puedes reproducir

El servidor genera una miniatura a partir de la geometría de cada modelo, así que una carpeta de nombres de archivo casi idénticos deja de ser un muro de texto. Las mallas y los recorridos de G-code se abren en un visor en el navegador, que es la forma más rápida de distinguir dos laminados parecidos sin abrir el slicer. La búsqueda cubre nombres, etiquetas y los ajustes de slicer leídos de los propios archivos, así que “el de PETG a 0,2 mm” pasa a ser una consulta en lugar de un trabajo de arqueología.

Las colecciones se anidan, y eso importa más de lo que parece: un proyecto de varias piezas descargado llega con un árbol de directorios, y quieres conservar ese árbol en lugar de aplanarlo en un saco de archivos. Las etiquetas lo cruzan en diagonal. Un registro de modelo guarda una descripción, la URL de origen de la que vino y sus archivos agrupados, con el G-code guardado como revisiones con nombre del mismo modelo, de forma que hay algún sitio donde apuntar por qué funcionó el tercer intento.

Eso cubre casi todo lo que la gente hace de verdad en la página de un modelo público, menos lo que viene a continuación.

Lo que una bóveda privada no hace

No hay catálogo. Es la limitación obvia y aun así la más subestimada, porque la mayor parte del valor de Thingiverse está en que otra persona ya subió lo que necesitas. Tu instancia guarda lo que tú metas en ella, así que navegarla es navegar por tus propias decisiones pasadas. Sigue usando los sitios públicos para encontrar modelos: importar desde Printables, MakerWorld y Thingiverse cubre cómo sacar los archivos de ahí después.

La capa de comunidad también falta. No hay “me gusta” ni comentarios, nadie sigue tu colección, y no hay grafo de remixes ni flujo de “makes” de desconocidos que imprimieron tu pieza a 0,28 mm y quieren contarte cómo les fue. Si eso era lo que te imaginabas, salta a la sección de Manyfold antes de instalar nada.

Las fotos son la limitación que más sorprende. Los tipos de archivo que puede guardar un modelo en PrintStash 0.11.4 son STL, 3MF, OBJ, STEP y G-code, todo geometría. No hay tipo de archivo de imagen, así que no puedes subir tres fotos de la impresión terminada y colgarlas en la página del modelo como hace una ficha de Thingiverse. Cada modelo tiene exactamente una miniatura, generada a partir de la geometría o extraída de una miniatura ya incrustada en un archivo 3MF o de G-code. Las fotos y las notas de montaje escritas van en un documento markdown dentro de la colección, que sí acepta PNG, JPEG, GIF y WebP incrustados. Funciona, y tiene una forma distinta de la que tenías en la cabeza.

Lo que ganas a cambio es más estrecho y más duradero. Los archivos están en tu disco, con tu propia organización, donde nadie puede retirarlos ni moverlos detrás de un inicio de sesión que no aceptaste. Los metadatos son los que tú decidiste, no el árbol de categorías que te impuso el sitio, y sobreviven a la plataforma.

Qué implica realmente ponerlo en marcha

Menos de lo que sugería el hilo del foro. PrintStash 0.11.4 es un stack de Compose con dos contenedores, frontend y api, los dos descargados como imágenes preconstruidas de GHCR para linux/amd64 y linux/arm64, así que en la máquina no se compila nada. El almacenamiento por defecto es SQLite y disco local en volúmenes con nombre. Todas las variables del archivo de Compose llevan un valor por defecto que funciona, lo que significa que no hay ningún .env que escribir ni nada que editar antes del primer docker compose up -d.

El único paso manual es un token de configuración. Con VAULT_SETUP_TOKEN sin definir, la API genera uno por proceso y lo escribe en el log; lo lees del log de la API y lo pegas en el asistente de primer arranque, que crea la primera cuenta de administrador. No hay usuario ni contraseña por defecto. La guía de instalación con Compose tiene los comandos exactos y los modos de fallo, y primeros pasos continúa desde el asistente hasta los requisitos de hardware y el primer modelo.

Postgres y un almacén de objetos compatible con S3 vienen dentro del mismo archivo de Compose, detrás de los perfiles postgres y s3, y se quedan parados a menos que nombres un perfil. Vale la pena saberlo, porque una primera lectura de ese archivo hace que el stack parezca de cinco servicios cuando arrancan dos. Con los perfiles desactivados, el puerto 3000 es el único puerto publicado, ya que el servicio api solo queda expuesto en la red interna de Compose. Si la biblioteca acaba superando esos valores por defecto, SQLite o Postgres, disco local o S3 explica cuál de esas decisiones necesitas de verdad.

No hace falta mover tus archivos dentro

Para cualquiera que ya tenga un archivo histórico, este suele ser el detalle que decide. Un volumen compartido permite que PrintStash indexe en su sitio una carpeta local o de un NAS montada: lee los archivos, refleja la estructura de carpetas como colecciones y deja los bytes de origen donde están. El recurso compartido de Samba sigue funcionando, el slicer sigue abriendo las mismas rutas, y quitar un modelo o el volumen entero de la biblioteca nunca borra los originales.

Dos cosas que conviene saber antes de probarlo. Los volúmenes compartidos están detrás de un interruptor general que viene desactivado, así que primero los habilitas en los ajustes. Y una raíz montada que aparece vacía sin motivo aborta el escaneo en lugar de concluir que tu biblioteca entera se ha borrado, que es el comportamiento que quieres la primera vez que un montaje de NAS falla en silencio. Apúntalo a una carpeta representativa antes que al archivo completo; usar un NAS con volúmenes compartidos cubre el montaje y el primer escaneo.

Compartirlo con otra persona

Aquí la analogía con Thingiverse se rompe de una forma que importa, porque entre “manda un enlace a un amigo” y “monta un sitio público de modelos” hay muchísimo trabajo.

La opción integrada es un enlace compartido, y es deliberadamente pequeña. Creas uno por modelo. Es de solo lectura y sin autenticar, solo peticiones GET, y caduca con una vida útil que eliges entre 1 y 365 días. Descargar el archivo original es un ajuste aparte que sigue desactivado hasta que lo enciendes, así que puedes dar a alguien una previsualización sin darle el STL. Solo se guarda un hash del token, los enlaces revocados devuelven el mismo 404 que los tokens que nunca existieron, y los endpoints públicos tienen límite de peticiones por IP. Revocar uno cuesta un clic. Lo que no puedes hacer es publicar una biblioteca, porque no hay índice de modelos compartidos ni forma de que un visitante pase de uno al siguiente.

La otra opción es exponer la propia instancia a través de un proxy inverso con TLS, y esa es tuya por completo: el certificado, la autenticación por delante, los parches y las consecuencias. PrintStash no tiene telemetría ni ningún componente alojado, lo que también significa que nadie más está vigilando la puerta. Proxy inverso y TLS y el modelo de seguridad de red de confianza explican qué asume el software sobre su red, y asume más de lo que debería asumir un servicio expuesto a internet.

Ninguna de las dos opciones convierte una bóveda privada en una plataforma para compartir modelos, y tampoco pretende serlo.

Si lo social es el objetivo, mira Manyfold

Esto merece decirse claro, porque es el único punto en el que un proyecto competidor responde mejor a la pregunta. Manyfold es un organizador de modelos autoalojado que federa por ActivityPub. Su página de características, consultada el 17 de agosto de 2026, incluye la federación entre las capacidades ya disponibles: seguir modelos de otras instancias desde la tuya, compartir tus modelos con seguidores del Fediverso, y “me gusta” y comentarios sobre el propio modelo. Eso se acerca mucho más a la experiencia social de Thingiverse que un enlace con caducidad por modelo. Si la frase con la que empezaste era “quiero mi propio Thingiverse que otras personas puedan navegar y seguir”, Manyfold es la recomendación honesta.

PrintStash va en la otra dirección a propósito. Es una biblioteca privada con una forma limitada de compartir en solo lectura, y dedica su esfuerzo al lado del slicer y de la impresora: G-code como revisiones con resultados registrados, ajustes de impresión extraídos y conexiones con Moonraker, PrusaLink, OctoPrint, Bambu LAN y las impresoras Elegoo compatibles. La comparación cara a cara repasa dónde gana cada uno.

Una forma barata de averiguarlo

Levanta los dos contenedores en la máquina de sobra que tengas por ahí, apunta un volumen compartido a una sola carpeta con unos cincuenta modelos y úsalo una semana como tu forma real de encontrar archivos. La pregunta no es si la cuadrícula queda bien el primer día. Es si, una semana después, abres el navegador o abres el gestor de archivos por costumbre. Si es el gestor de archivos, el árbol de carpetas ya te servía y acabas de ahorrarte una migración.

Preguntas que surgen

¿Puedo hacer pública una biblioteca autoalojada para que otras personas la naveguen como Thingiverse?

No con PrintStash. La única superficie hacia fuera es un enlace compartido por modelo, y no hay página de índice que un visitante pueda navegar, así que no hay forma de pasar de un modelo compartido al siguiente. Puedes exponer la instancia entera a través de un proxy inverso con TLS, pero eso publica una aplicación privada con inicio de sesión en lugar de un catálogo público, y protegerla es tu responsabilidad. Si el objetivo es una instancia pública navegable y seguible, la federación por ActivityPub de Manyfold está hecha para eso y PrintStash no.

¿Necesito un dominio para compartir un modelo con alguien?

No dentro de tu propia red. Un enlace compartido es una ruta en la dirección por la que ya accedes a la biblioteca, así que en una LAN es una IP y un puerto, y cualquiera en esa red o en tu VPN puede abrirlo. Un dominio y un certificado solo empiezan a importar cuando quien lo recibe está fuera de la red, porque eso implica publicar la instancia a través de un proxy inverso con TLS y aceptar todo lo que conlleva mantener un servicio expuesto a internet.

¿Puedo adjuntar fotos de la impresión terminada a un modelo?

Al registro del modelo no. Los tipos de archivo que guarda un modelo en 0.11.4 son STL, 3MF, OBJ, STEP y G-code, y la única miniatura se genera a partir de la geometría o se lee de una previsualización incrustada en un 3MF o en un G-code. Las fotos y las notas de montaje escritas van en un documento markdown dentro de la colección, que sí acepta imágenes PNG, JPEG, GIF y WebP incrustadas. Es una limitación real si te imaginabas una ficha con carrusel de fotos.

¿Qué pasa con mi biblioteca cuando desaparece la página original del modelo?

Nada, que es casi toda la razón para tener una. Los archivos ya están en tu disco y el registro del modelo conserva la URL de origen desde la que importaste, así que una ficha borrada, una licencia cambiada o una cuenta muerta te cuestan la página y sus comentarios, no el modelo. La parte que conviene decir con franqueza es que la durabilidad pasa a ser tu trabajo: una copia local en un solo disco es una copia, no una copia de seguridad, y nadie más va a hacer el ensayo de restauración por ti.

¿Tener una biblioteca privada significa dejar de usar Printables y Thingiverse?

No, y contar con eso es el error habitual. El descubrimiento es lo que hace un catálogo público y no puedes replicarlo en casa, así que sigue buscando ahí. Lo que cambia es dónde aterriza la descarga: en lugar de una carpeta de descargas que se vuelve imposible de buscar alrededor del modelo número cincuenta, el archivo llega a una biblioteca que conserva su URL de origen, sus laminados y su historial de impresión, y que sigue funcionando cuando la ficha original ya no está.

Fuentes

  • PrintStash docker-compose.yml, backend/app/db/models.py, backend/app/api/v1/share.py, backend/app/services/share.py, backend/app/api/v1/documents.py, backend/app/services/runtime_config.py y backend/app/services/external_library.py en la etiqueta v0.11.4. Consultado el 17 de agosto de 2026.
  • Manyfold features, para saber qué cubre su federación y qué elementos figuran como ya disponibles. Consultada el 17 de agosto de 2026.

Si lo que buscas es el argumento a favor de una biblioteca propia en lugar de la comparación con una pública, lee por qué autoalojar tu biblioteca de impresión 3D. Si el archivo que quieres indexar ya está en un NAS, migrar desde carpetas es el siguiente paso más útil.