this post was submitted on 06 Aug 2023
1306 points (98.7% liked)

Announcements

765 readers
1 users here now

Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.

You can also find major news on join-lemmy.org

founded 5 years ago
MODERATORS
 

This is an opportunity for any users, server admins, or interested third parties to ask anything they'd like to @[email protected] and I about Lemmy. This includes its development and future, as well as wider issues relevant to the social media landscape today.

Note: This will be the thread tmrw, so you can use this thread to ask and vote on questions beforehand.

Original Announcement thread

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 1 year ago (3 children)

Why is selfhosted Docker such a mess?

[–] [email protected] 10 points 1 year ago (1 children)

What is a mess about it? Its certainly much easier than installing without Docker.

[–] [email protected] 0 points 1 year ago (1 children)

Last time I checked, it wanted me to modify multiple upstream files before composing the container and manually create directories instead of using Docker volumes – for multiple images.

Also the compose file contains a database and a reverse proxy for no reason.

Where’s the simple Docker container that does not want me to do that? Just deploy, set some environment variables, use one volume for persistent data and the sqlite database and that’s it?

[–] [email protected] 2 points 1 year ago (1 children)

A single Docker container is not possible because Lemmy requires multiple different images (postgres, pict-rs, lemmy-ui, lemmy). Supporting two different databases would be too much effort. In the end Lemmy is optimized for large instances with hundreds or thousands of users, not for tiny instances. So more difficult installation is not a major concern.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

pict-rs, lemmy-ui, lemmy

Why can’t those be bundled? I need 3 containers and another database container just to have an instance. Also, none of those is easy to setup. All of those are messy and annoying and need me to fiddle with upstream files.

Containers should be reusable. None of those is reusable for anything else.

So more difficult installation is not a major concern.

In the long run this is where it will fail. Make it intentionally hard and annoying to setup will lead to people not setting it up.

Edit: Been there, done that, failed. Since then I always try to make my stuff as easy to setup and use as possible.

[–] [email protected] 3 points 1 year ago (1 children)

Its not intentionally hard. If you see a way to simplify it, pull requests are always welcome. But running multiple services in a single docker container is generally a bad idea.

[–] [email protected] -2 points 1 year ago

If you see a way to simplify it, pull requests are always welcome

All components that are needed to run a Lemmy instance could be provided as single stack and the containers could be made configurable using environment variables (usernames, passwords, and DB locations). Database and reverse proxy should be handled completely separated from the "Lemmy containers" and the "Lemmy stack". manually editing upstream files before composing the containers should be avoided.

Since I do not use MS GitHub I cannot help with issues, PRs, or anything else there, sorry.

multiple services

This is what I think about. While those 3 containers contain different programs: are they really different services and not just different components of the same service?

[–] [email protected] 10 points 1 year ago (1 children)

And following up: since Lemmy-easy-deploy is so… well… easy, can’t you make that official as well?

Have an advance option where one could configure everything and one where all is done and automatically works for the somewhat less technical admins?

[–] [email protected] 7 points 1 year ago (1 children)

So its a bash script which manages the docker-compose install for you? I really wouldnt want to maintain almost 2000 lines of bash. Plus such a script has extra complexity and has a chance to break. I think it makes more sense to rely on standard, widespread tools like docker-compose which you can find documentation for all over the internet. Though if you prefer to use that installation method over the official one, theres nothing wrong with it.

[–] [email protected] 2 points 1 year ago

In addition to that: I am pretty sure the script assumes an unconfigured system, “stealing” ports 443 and 80, and completely messing up container and volume names (if any volumes are actually used).

As far as I know I think the only not messy solution is setting up a VM and let Lemmy do whatever it wants there and expose only one port mapped to whatever inside-VM port is needed and use my reverse proxy to forward requests on the dedicated subdomain to that VM.

[–] ZMonster 9 points 1 year ago (2 children)

Why is ALL administrative documentation all but absent? Why is there NO documented support for SMTP?

[–] [email protected] 9 points 1 year ago

What documentation do you need other than knowing the config fields?

[–] [email protected] 1 points 1 year ago

I wouldn't say it's convenient to find, but right here it seems pretty clear: https://github.com/LemmyNet/lemmy/blob/main/config/defaults.hjson