I am new to the world of self hosting a site, however I do currently have a web application thing successfully running on a digital ocean droplet with a free domain name.
I would like to attempt to additionally host a lemmy instance and was planning on following this guide: https://github.com/ubergeek77/Lemmy-Easy-Deploy?tab=readme-ov-file
Ideally I would like both of these things to run on the same ubuntu droplet. In my mind this should technically be possible with using docker to give each thing their own little corner being a good way to approach it.
However, I think the easy deploy lemmy uses caddy and the other thing I have users nginx, can both of these things work alongside each other fine if they have their own ports?
Is this a good way of approaching this or should I just make the lemmy instance its own droplet and go from there? Should I use something other than the lemmy easy deploy?
Do you have any other advice?
Thanks, if this is the wrong community for this can someone point me to the right one, I’m relatively new to lemmy.
I would probably just skip the Lemmy Easy Deploy and just do a regular deployment so it doesn’t mess with your existing. Getting it running with just Docker is not that much harder and you just need to point your NGINX to it. Easy Deploy kind of assumes it’s got the whole machine for itself so it’ll try to bind on the same ports as your existing NGINX, so does the official Ansible as well.
You really just need a postgres instance, the backend, pictrs, the frontend and some NGINX glue to make it work. I recommend stealing the files from the official Ansible, as there’s a few gotchas in the NGINX config as the frontend and backend share the same host and one is just layered on top.
I’m part of the crowd just browsing and have no idea what you just said. Cheers though. You sound like you know what your talking about.
If you look at my username you’ll see I do run my own instance so I’ve gone through the process :)
They can if they’re using different ports, however, I’d recommend just running Lemmy through the nginx server and route the data to each as needed. There’s nginx configuration in the guide.
If you’d like to run them on the same Ubuntu VM, I’d recommend deploying them using docker, as that will make avoiding port conflicts much easier as well as keeping each application isolated.
You should also look into a reverse proxy so you can reroute traffic from your desired subdomain to non-standard ports (otherwise you’ll need to specify ports in the URL which gets weird). I recommend Nginx Proxy Manager which can also run in docker.
You could spin up another VM for Lemmy if resources get tight and you don’t mind the extra cost.
You can use nginx just fine, probably need to skip the automatic deployment though.
I read someone saying the bandwidth is costly.
Hasn’t cost me a penny, hurray for unmetered bandwidth
Yunohost supports Lemmy https://apps.yunohost.org/app/lemmy
This seems incredibly intuitive, effective, and might exactly be what I’m looking for. Thanks.
Its not perfect. Im still new to it but have a go. Have you got a community ot two you would like to create?
Another person and I are in the early stages of probably setting one up. The other thing we use is cytube which would be great to see on yunohost, I’d suggest it if I had a trusted account.
ill check it lut and suggest it Im early days in writing scripts for Yunohost applications
We suggested it on the Yunohost site and they started it. The other person I’m working with I think made some progress but we’re new and don’t really have the time to try and figure a bunch of stuff out.
I think there’s a file you have to delete and there’s some stuff in the cytube config the Yunohost installer hasn’t been setup to edit properly yet.
Ive finally got a VM box running to spin up some test instances of Yunohost and applications for it.
https://github.com/calzoneman/sync/issues/996
To get the Yunohost installer to work you have to either use a specific version of node or delete the package-lock.json file. Some of the stuff in the Cytube config wasn’t setup by yunohost yet and there was a permissions issue with the certs. I was also going to try it again when I have more time in a few days.
edit:
I’ve gotten it to work twice with Yunohost now and I think I know what’s missing:
Port 8443 needs to be opened in the firewall
In the cytube config: the https block needs to be uncommented, the root domain name needs to be changed off of localhost, under io socket the domain needs to be changed to https, and the cert paths need to be added under the https socket block (etc/yunohost/certs).
Finally the cytube user needs permission to access the certs:
$ sudo addgroup cytube $ sudo adduser cytube cytube $ sudo chgrp -R cytube /etc/yunohost/certs/
This works for a session but seems to break yunohost if you restart. I don’t know what the proper way to give the cytube user cert access is atm.
If you remove the path at the end of the url in Yunohost settings you should be able to open cytube directly.