manyfold3d / manyfold

A self-hosted digital asset manager for 3d print files. Previously named "VanDAM"
https://manyfold.app
MIT License
667 stars 45 forks source link

Feature Request - Unraid support #451

Open jtcm222 opened 2 years ago

jtcm222 commented 2 years ago

Would it be possible to create an Unraid docker template for this to simplify the installation? I'm not sure what would be required (sorry).

Floppy commented 2 years ago

Sounds good! Don't know what's involved either, but I can try to find out :)

Floppy commented 2 years ago

Would adding it to CA be the best way to make this easy for Unraid users?

jtcm222 commented 2 years ago

Would adding it to CA be the best way to make this easy for Unraid users?

That would be great. That's how docker containers are typically added to unraid. If you put it on there I'll give it a test.

Floppy commented 2 years ago

Great, I'll have to learn how that all works, but we'll see what we can do.

jtcm222 commented 1 year ago

Was there any progress on this? I'd love to get this on my Unraid server as my stl library has grown quite a bit!

Floppy commented 1 year ago

I didn't get to it yet I'm afraid!

jonathanfrem commented 1 year ago

I am running Van_Dam on Unraid using Portainer, however CA or Dockerhub would make it easier.

jtcm222 commented 1 year ago

I am running Van_Dam on Unraid using Portainer, however CA or Dockerhub would make it easier.

Would it be possible for you to share your setup/settings? I'd love to get this running on my server.

jonathanfrem commented 1 year ago

Would it be possible for you to share your setup/settings? I'd love to get this running on my server.

Sure! I am running the Postgresql 13 that is on CA, and running Portainer with the docker compose. If you have a look at the linked video on the readme, that guy is using Portainer, so I tried just working backwards from that.

If you want you can DM me on discord if you need more specific help :) Get Java#6497

MountainGod2 commented 1 year ago

I don't currently have a 3D printer, but I had some free time and did up a template for a buddy yesterday and added it to CA if that's alright with you. https://github.com/MountainGod2/unraid-templates/blob/main/van_dam/van_dam.xml

It's essentially just a copy/paste translation of the example docker-compose and depends on the user already having redis and postgres containers running.

I've tried to make the instructions as verbose as possible, but as there's no way to support compose or multi-container installs in Unraid out of the box, there's not much that can be done to make it too too much easier within unraid's template system as is.

I'm open to ideas/suggestions though, or if you'd rather use my xml as a jumping-off point to make your own, feel free. Looks like a handy tool!

image

image

image

image

jtcm222 commented 1 year ago

I don't currently have a 3D printer, but I had some free time and did up a template for a buddy yesterday and added it to CA if that's alright with you. https://github.com/MountainGod2/unraid-templates/blob/main/van_dam/van_dam.xml

Got it working! Thanks for this! I'm adding files now and playing around.

Floppy commented 1 year ago

@MountainGod2 Oh, that's fantastic, thank you! I'll add it into the README / installation instructions. Would it make sense to include that XML file for unraid in this repository? I don't really know how it all works in Unraid land... :)

MountainGod2 commented 1 year ago

@Floppy Honestly unless you want to go through the rigamarole of creating a separate repo and having Squid (the admin of Unraid's Community App's) approve and add it to the store, there's not a huge need in my opinion.

Essentially how it works is that when you create a new docker container inside of Unraid's UI, it generates and saves a corresponding .xml which in turn executes the appropriate docker run commands when the user interacts with the container from the web management page.

The CA store is just a collection of those .xml files so that people can install them a bit more conveniently without having to add the various environment variables/data paths themselves.

Here's a decent resource from the forum if you did want to add an "official" version of the template though 🙂 https://forums.unraid.net/topic/57181-docker-faq/#comment-566084 (scroll down to the section titled "Publishing to CA")

Floppy commented 1 year ago

I suppose I'm mainly wondering about what happens if I add a new environment variable, for instance. Would you need to update your XML for the new release?

MountainGod2 commented 1 year ago

I see what you mean. Yeah, it would need to be updated, it will keep up to date with :latest, but anything outside of that would need to be added in the XML. And seeing as I don't actively use van_dam myself currently, that could definitely be an issue down the road.

That being said, it's pretty easy to add things, so if someone were to open a PR (I have the support link on the store pointing at this repo) and drop me a mention, I'd be happy to fix it.

Or if you want to make your own repo for the template so you can integrate it into your deployment process, no worries! I could help if you have any questions.

Floppy commented 1 year ago

Thanks! I'll have a think about the right approach and see where I end up. Thanks again for making the template!

Floppy commented 8 months ago

@MountainGod2 I've got an organisation set up for this project now, so I will probably look at adopting the unraid config you've done into a separate repo at some point soon. 👍🏻

Floppy commented 2 months ago

@MountainGod2 I've adopted and updated the template at https://github.com/manyfold3d/unraid-templates, with credit to your original work. I need to look at getting this into the official store now!

Floppy commented 2 months ago

I've got in touch, hopefully we'll have the official repo in there soon 🎉

totalanni commented 2 months ago

Is it possible to get a version with the depends(postgres/redist) built into the container?

Floppy commented 2 months ago

@totalanni that's something I do want to do, probably as part of #977 and #27.

twistedsanity commented 2 months ago

Is it possible to get a version with the depends(postgres/redist) built into the container?

As much having an AIO template is convenient, it goes against the point of a container. You should really only look to ever run a single service/process per container. If you want an easier deployment with the extra dependencies, look to docker compose where you can have a stack defined to install all of the extra requirements linked/configured to the main container. Unraid can utilise docker compose in the UI with a plugin (compose manager) and a few manual steps.

totalanni commented 2 months ago

@totalanni that's something I do want to do, probably as part of #977 and #27.

Ty! Looking forward to a solution to keep all my models organized.

Is it possible to get a version with the depends(postgres/redist) built into the container?

As much having an AIO template is convenient, it goes against the point of a container. You should really only look to ever run a single service/process per container. If you want an easier deployment with the extra dependencies, look to docker compose where you can have a stack defined to install all of the extra requirements linked/configured to the main container. Unraid can utilise docker compose in the UI with a plugin (compose manager) and a few manual steps.

Most Unraid users use it for its simplicity. While I'm sure if I bang my head for a few days on it, I would be able to get it going, the beauty of an AIO container sounds much better.

I have tried to create my own Postgres15 and redis container but can not get it to connect to the postgres server. I imagine it is me not being able to figure out how to properly add the user "manyfold" and the DB correctly in adminer.

Anyone on discord that could give me some pointers? xD

twistedsanity commented 2 months ago

In unraid to connect to another container either use 127.0.0.1 or the name of the container if on a custom network, as it uses its own internal networking, not your actual unraid IP.

totalanni commented 2 months ago

I found my problem. It appears that the default Unraid template defaults to "Docker Network = None"

Floppy commented 2 months ago

Ooh; that might be something I can fix in the template then...

tjorim commented 1 month ago

Should we switch to a version that uses sqlite so it's a single container for convenience? Edit: started working on https://github.com/manyfold3d/unraid-templates/pull/3

Floppy commented 1 month ago

I was thinking to change this over to use the solo instance, yes, once I know it's stable :)

kwiksilver commented 1 month ago

I started using the linuxserver.io version of Manyfold on Unraid in conjunction with the redis and mariadb docker containers, also on Unraid. Everything has been working well.