YunoHost-Apps / akkoma_ynh

Social media based on ActivityPub, fork of Pleroma
https://akkoma.social/
GNU Affero General Public License v3.0
15 stars 6 forks source link

Can't use /static/static folder and subfolders #18

Closed belatedly closed 1 year ago

belatedly commented 1 year ago

I created a /static/static folder to be able to upload themes and the TOS file, but it wasn't being read by the front end. I noticed all the other folders are owned by the akkoma user, but I was logged into sftp with my user account so the folder I created was owned by me. I was able to assign read/write access to the akkoma user in the terminal and it's working fine now, but wanted to report it in case it's something that can be addressed to prevent manual intervention for others going forward.

bugsysop commented 1 year ago

Normaly you don't have to create the stactic folder manualy. The YNH package must have created this here: /home/yunohost.app/akkoma/static/ with the correct user/group.

In case of problem you can still change the ACL like this:

chown akkoma:akkoma -R /home/yunohost.app/akkoma/static/

belatedly commented 1 year ago

Yes, I'm referring to the second-level static folder that needs to be created within the static folder to use themes and set a terms of service file. That subfolder did not exist and did not have the correct association when I created it as I log into sftp with my user account. I imagine this would happen frequently unless one is using sudo su - akkoma and then creating the folder in the terminal.

lapineige commented 1 year ago

It's great to we already have users for that package ! :D (is it a "production" server for real usage, or a test one ?)

So we should setup that folder by default ? What is it supposed to contain ? Custom themes and a TOS file ? Maybe we could setup a way in the admin panel to add this 🤔. Or at least to fix the rights.

I will try to add that directory by default and document the right management commands.

belatedly commented 1 year ago

Yes it's a production instance at https://likes.pink, thanks for getting this on Yunohost :)

Having some defaults added would be great. Below is my /static/ folder structure:

Screenshot 2023-02-12 at 10 14 43 AM

Basically in /static/static/themes/ is where the .json files for the custom themes go, and a styles.json lives in /static/static/ (associated Akkoma doc) and includes the default themes. Having /static/static/themes and /static/static/styles.json with the default themes pre-entered would be helpful. Maybe we can just add direction in the readme to ensure that any custom theme file added is owned/readable/writable by the akkoma user.

The custom.css in /static/static/ does have a placeholder file (if you haven't edited one you'll see the placeholder at domain.tld/static/custom.css) on a fresh install but since the /static/static/ folder wasn't there, I had to manually upload mine.

terms-of-service.html is similar - there's a default placeholder and the admin-fe has an option to edit it in the UI, but I didn't test whether that'd generate the /static/static/ folder for me or where it'd save though as I had just manually uploaded it.

lapineige commented 1 year ago

Thank you for the very detailed feedback !

Having /static/static/themes and /static/static/styles.json with the default themes pre-entered would be helpful

Do you know if there is any consequence of creating an empty folder ? (= can we do that by default safely)

with the default themes pre-entered would be helpful

What do you mean ?

belatedly commented 1 year ago

Sorry for delay, I am not sure on the empty folder but I think it would be okay.

In the styles.json file, I always enter the default themes as well as my custom one:

`{ "pleroma-dark": [ "Pleroma Dark", "#121a24", "#182230", "#b9b9ba", "#d8a070", "#d31014", "#0fa00f", "#0095ff", "#ffa500" ], "pleroma-light": [ "Pleroma Light", "#f2f4f6", "#dbe0e8", "#304055", "#f86f0f", "#d31014", "#0fa00f", "#0095ff", "#ffa500" ], "classic-dark": [ "Classic Dark", "#161c20", "#282e32", "#b9b9b9", "#baaa9c", "#d31014", "#0fa00f", "#0095ff", "#ffa500" ], "bird": [ "Bird", "#f8fafd", "#e6ecf0", "#14171a", "#0084b8", "#e0245e", "#17bf63", "#1b95e0", "#fab81e"], "ir-black": [ "Ir Black", "#000000", "#242422", "#b5b3aa", "#ff6c60", "#FF6C60", "#A8FF60", "#96CBFE", "#FFFFB6" ], "monokai": [ "Monokai", "#272822", "#383830", "#f8f8f2", "#f92672", "#F92672", "#a6e22e", "#66d9ef", "#f4bf75" ],

"redmond-xx": "/static/themes/redmond-xx.json", "redmond-xx-se": "/static/themes/redmond-xx-se.json", "redmond-xxi": "/static/themes/redmond-xxi.json", "breezy-dark": "/static/themes/breezy-dark.json", "breezy-light": "/static/themes/breezy-light.json", "mammal": "/static/themes/mammal.json", "custom-theme: "/static/themes/custom.json" }`

lapineige commented 1 year ago

All of these are defaults ? Including the second block ? Are they generated by default ? For now on I only included the first block.