this post was submitted on 05 Oct 2023
13 points (84.2% liked)

Selfhosted

40219 readers
1001 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Update Oct 6 :

I have been messing around the idea of permissions but just got back from work so this is very much Work In Progress. What I noticed is that the "postgres" folder inside the Docker folder that has the docker-compose file had a lock icon on it. https://imgur.com/a/lZir4tt The owner is weird and doesn't exist on the other computer. I don't explain how this owner was created and that may be due to my poor understanding of Docker and docker-compose.

So I have made a pastebin with the docker compose here if anyone is interested in this little puzzle : https://pastebin.com/Vsh6S23G This docker-compose is basically the one from the installation guide from the app website, I just changed some passwords and users related stuff which are written as .

I tried using Déjà Dup Backups to sync my entire Docker folder which also contains Tandoor and it complained it could not sync the postgres folder either so defo something wrong with the permissions. Which explains why I can't create a new recipe on the other computer, because it doesn't have permission for that specific task. Oddly enough, I get a server 500 error, but if I refresh the recipe list, the new recipe that led to the server 500 error is, actually, there.

Would a pastebin of the .env help?

ORIGINAL POST :

Hello again, I hope it's okay that I make several posts in a rather short time, I'm stumped.

I run a series of containers on old computer A for the recipe manager Tandoor Recipes.

I want to move it to another computer B so I initially thought I would: -copy the env and docker-compose -dump the source database

Move everything to the new computer, compose everything and fill the database from the dump.

I got 500 server errors so I went on Discord and asked what was the proper way of doing this. I've been told in theory I could shut everything down, pack my Tandoor folder in a zip, paste it on the target computer B and boot everything and voilà.

None of this works properly.

I do manage to get an instance of Tandoor running on my new computer, it displays every recipe I had originally, but it has an issue when trying to create a new recipe. I get a white page with "Server Error (500)". It does not happen on the original Tandoor, despite being all the same files in theory.

I noticed that on my source computer, the postgres DB directory changes permission when I start the container, as well as the directory containing the recipe pictures. So I'm wondering if wrong permissions might be corrupting data while copying stuff?

Thanks

you are viewing a single comment's thread
view the rest of the comments
[–] NullPointerException@lemm.ee 6 points 1 year ago* (last edited 1 year ago) (1 children)

you're probably right about it being a permissions error but also including some relevant logs would be useful (or just stick all of them on pastebin or something and give us a link). could also be a docker misconfiguration considering it's a different system and I assume they're not identically set up with Ansible or something similar

edit: also id personally use tar because I'm not entirely sure zip files preserve linux permissions

edit again: from 2 seconds of google searches, I think I'm correct about that, so definitely try using tar

[–] Natal@lemmy.world 1 points 1 year ago (1 children)

I tried using tar as you said, and it didn't work. Which led me to investigate and realize the owner of the postgres folder is unknown to me. Changed it back with CHOWN but it reverts back to the weird owner when I restart the container so I'm missing some knowledge and know-how. I'm trying to figure out who sets that permission in the first place.

[–] NullPointerException@lemm.ee 1 points 1 year ago

I checked out your edit and what's going on is pretty weird. my recommendation (if you don't wanna just use the native import/export feature and give up on DB dumps) is to (on the new server) create a minimal tandoor docker-compose.yml, run it, do minimal setup, see if it works, and if the fresh container works, check the permissions, then just replicate those perms for your other postgres directory that contains data you actually care about. good luck!