VanDAM 3D: Docker

1 minuto(s) de lectura

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://van_dam:overclockserver@db/van_dam?pool=5
      SECRET_KEY_BASE: gED04yiDeyItG6e9GO/OPCd+IBFZOoAIFkM6/3ZllcI=
      REDIS_URL: redis://redis:6379/1
    restart: always
    depends_on:
      - db
      - redis
    networks:
      - vandam
    links:
      - db
      - redis

  db:
    image: postgres:15
    container_name: VanDAM_DB
    volumes:
      - ./bdatos:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: van_dam
      POSTGRES_PASSWORD: overclockserver
    restart: always
    networks:
      - vandam

  redis:
    image: redis:7
    container_name: VanDAM_REDIS
    restart: always
    networks:
      - vandam

volumes:
  db_data:

networks:
  vandam:
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
SECRET_KEY_BASE: gED04yiDeyItG6e9GO/OPCd+IBFZOoAIFkM6/3ZllcI= Clave de cifrado base datos, recomiendo cambiarla por la propia generada
./bdatos:/var/lib/postgresql/data Ruta donde almacena localmente la base datos
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!