ubergeek77 / Lemmy-Easy-Deploy

Deploy Lemmy the easy way!
MIT License
133 stars 14 forks source link

Add themes to Easy Deploy #76

Closed Nitrowolf closed 8 months ago

Nitrowolf commented 10 months ago

I can't figure out how to add themes to the Easy Deploy. There is no UI volume to add the data to. Getting a shell into the UI shows a pretty barebones setup, and there's obviously no persistent data storage. I would think possibly putting the themes in the "live" directory somewhere might do it, but I don't see anything in the docker compose file that would pull the themes from there.

Is there any way to theme the Easy Deploy?

ubergeek77 commented 10 months ago

Sorry, but I'm not familiar with theme support in Lemmy. Can you give me an example?

Full disclosure, this is outside the scope of this project, so I would likely end up telling you to customize them yourself using the Advanced Configuration guide:

https://github.com/ubergeek77/Lemmy-Easy-Deploy/blob/main/ADVANCED_CONFIGURATION.md

I can't support this for everyone, but if you give me a little more info about what theme you are trying to install, I can give you an idea of the simple changes you'd need to make.

Nitrowolf commented 10 months ago

https://join-lemmy.org/docs/administration/theming.html

That is how you theme it. It's just a matter of putting the theme css files in the lemmy-ui/extra_themes folder ... but since there's no volume for lemmy-ui, I can't really add it.

ubergeek77 commented 10 months ago

Ah, I see. To be honest, I was not aware of this feature at all. Since it's a first party feature in Lemmy, I will be adding support for it.

Please give me some time to think about how to implement this. I'd like to get this implemented along with 0.19 support, when it's available and I test it.

In the meantime, you can temporarily add the themes you want like this:

docker compose -p lemmy-easy-deploy exec lemmy-ui /bin/sh
mkdir -p /app/extra_themes
exit
docker compose -p lemmy-easy-deploy cp /path/to/your/custom.min.css lemmy-ui:/app/extra_themes

If you know of a .min.css theme I can use to test this, that will also be a great help!

Nitrowolf commented 10 months ago

There are some here, but I haven't tried them since I haven't figured out how to get them into the container

https://github.com/2xx04/lemmy-ui-themes

The method you specified above... it gets the themes into the container, which wasn't the issue - it was running the container so those themes are picked up on start up. I don't know of a way to restart just lemmu_ui non-destructively. Restarting it will ditch the ephemeral data that was copied there with the method above. I don't know a whole lot about docker, though.

Seems like adding extra_themes to the live directory that gets copied on startup to the lemmy_ui container is the most straight forward method? But as I said, I don't know too much about docker so there may be something that prevents that.

I appreciate you looking into it either way!

ubergeek77 commented 10 months ago

For now, you can run:

docker compose -p lemmy-easy-deploy restart lemmy-ui

This will restart the container non-destructively :)

ubergeek77 commented 8 months ago

This is now supported in 1.3.2. Place your .css files in ./live/lemmy-ui-themes and they should be automatically picked up by Lemmy, no need to restart any containers