VanDAM 3D: Docker
VanDAM es un gestor de contenido digital, diseñado específicamente para archivos de impresión 3D.
Es una alternativa local y autogestionada a macroservicios online como Thingiverse, Cults3D, …
La dinámica de uso es muy sencilla, tan solo definimos una biblioteca, alojamos los ficheros que hayamos diseñado o bien queramos tener gestionados y listo.
Es proyecto aún en fase de desarrollo y tiene cierto margen de mejora en la gestión, pero realmente merece la pena darle una oportunidad de uso.
Instalación
Vamos a realizar unos pasos previos para preparar el entorno, para ello en primer lugar creamos las carpetas donde alojar el proyecto:
mkdir -p $HOME/docker/vandam/{stl,bdatos} && \
cd $HOME/docker/vandam
Agregamos el paquete openssl
para generar una clave de cifrado para la base de datos:
sudo apt-get update && \
sudo apt-get -y install openssl
Generamos la clave de forma aleatoria y la anotamos para usarla en la creación del docker:
openssl rand -base64 32
Como ejemplo muestro un resultado de la ejecución del comando:
pi@overclock:~$ openssl rand -base64 32
gED04yiDeyItG6e9GO/OPCd+IBFZOoAIFkM6/3ZllcI=
Ahora llega el turno de crear el fichero de configuración docker-compose.yml
lanzando el siguiente comando:
cat << EOF > $HOME/docker/vandam/docker-compose.yml
version: "3"
services:
app:
image: ghcr.io/floppy/van_dam:latest
container_name: VanDAM
ports:
- 8993:3214
volumes:
- ./stl:/Diseños
environment:
DATABASE_URL: postgresql://EMPALADOR:NOCTURNO@db/van_dam?pool=5
SECRET_KEY_BASE: gED04yiDeyItG6e9GO/OPCd+IBFZOoAIFkM6/3ZllcI=
GRID_SIZE: 250
restart: always
depends_on:
- db
- redis
db:
image: postgres:13
container_name: VanDAM_DB
volumes:
- ./bdatos:/var/lib/postgresql/data
environment:
POSTGRES_USER: EMPALADOR
POSTGRES_PASSWORD: NOCTURNO
restart: always
redis:
image: redis:6
container_name: VanDAM_REDIS
restart: always
volumes:
db_data:
EOF
Vamos a repasar los principales parámetros que hemos añadido sobre la anterior base, para poder adaptarlos a nuestro sistema y configuración especifica:
Parámetro | Función |
---|---|
8993:3214 |
Puerto de acceso interfaz Web :8993 |
./stl:/Diseños |
Ruta donde alojamos nuestros ficheros 3D $HOME/docker/vandam/stl y la ruta de la biblioteca que nos solicitara al iniciarse /Diseños |
DATABASE_URL: postgresql://EMPALADOR:NOCTURNO@db/van_dam?pool=5 |
Ruta de base datos y datos acceso, recuerda cambiar usuario & contraseña |
SECRET_KEY_BASE: gED04yiDeyItG6e9GO/OPCd+IBFZOoAIFkM6/3ZllcI= |
Clave de cifrado base datos, recomiendo cambiarla por la propia generada |
GRID_SIZE: 250 |
Tamaño de rejila visualización |
./bdatos:/var/lib/postgresql/data |
Ruta donde almacena localmente la base datos |
POSTGRES_USER: EMPALADOR |
Usuario creado para gestión de base datos, recomiendo cambiarlo |
POSTGRES_PASSWORD: NOCTURNO |
Contraseña creada para el usuario de gestión, recomiendo cambiarla |
restart: always |
Habilitamos que tras reiniciar la maquina anfitrion vuelva a cargar el servicio |
Una vez configurado, levantamos el servicio para ser configurado y ejecutado:
docker-compose up -d
En mi caso, el servicio estaría disponible en la dirección web http://192.168.1.90:8993
Nginx Proxy Manager
Configuramos dominios y certificados:

Y listo!