Running a 3D print catalogue with VanDAM

There’s only one way out of my ongoing writer’s / blogger’s block, and that’s to post stuff. Even if it is all out of sequence. Thus, a post about stuff (3D printing) I haven’t yet written other things about, on this blog.

One of the projects I’ve been quietly observing on GitHub for the past few months is VanDAM, by my old friend James Smith aka floppy. I think I picked up on it by being connected to James on GitHub, and spotting the releases from his repository. James has been a proponent of self-hosting and a more personal ownership of data for a very long time, something that I’ve always admired.

I’ve fallen down a rabbit hole of 3D printing in the past ~8 months, and as a result I have a lot of downloaded models, from sites such as Thingiverse, Cults3D and Printables (among many others!). I mostly try to keep them all together in a network folder, but I have to rely on good habits to organise them, and then inevitably, I forget what I’ve downloaded but not printed, or where the original model came from…

Enter VanDAM – a self-hosted database and UI for organising and managing your 3D model assets.

I’m now running this on my Synology NAS, and using the wonderful Tailscale to access it from wherever I am.

Very briefly, here’s what I needed to do to get things up-and-running.

  • background: I have DSM 7.2 on my Synology, and I have a space on my storage where I drop model files (STL, FCstd and the like). DSM 7.2 replaces the Docker app with Container Manager, which is broadly very similar in look-and-feel. This needs to be installed from the Synology Package Manager.
    • Important note – neither the Docker app, nor the Container Manager app, support installing Docker images from GitHub’s binary content repository aka ghcr.io (shaking my head), so you also need SSH access and the ability to run things at the CLI as the superuser / via sudo.
  • SSH to the Synology and clone the repo: git clone https://github.com/Floppy/van_dam/
  • Copy docker-compose.example.yml to docker-compose.yml and edit the DB passwords and so forth. Importantly, also edit the line containing library mappings – in my case I needed to map the some storage on volume2, to the /libraries location in the Docker container:
volumes:

- /volume2/TheLibrary/3DPrinting:/libraries
  • Run sudo docker-compose up -d to cause the container images to be downloaded and initialised.
    • as an aside, even though Container Manager will not let us install from the GitHub registry, once the container(s) are running, you can control them in the GUI.
  • We should now have VanDAM ready on port 3214 on the NAS, but we will find that opening a browser window will lead to a login screen requiring an email and password, and we haven’t signed up yet! (note: this may actually be a bug). I used the Rails console (VanDAM is a Ruby on Rails app) to get this sorted out:
$ sudo docker exec -it van_dam-app-1 sh
$ bin/rails console

[then, in console]

user=User.create!(:username=>'andypiper',:email=>'youruser@example.com',:password=>'a-cunning-passw0rd%',:admin=>true)

Good to go! Now we can login to VanDAM and configure a library. From here, this is an exercise for the reader.

Keep an eye on VanDAM on GitHub, or follow the project on Mastodon.

Leave a Reply