rr- / szurubooru

Image board engine, Danbooru-style.
GNU General Public License v3.0
704 stars 178 forks source link

Deployment on portainer #509

Open K1llercat opened 2 years ago

K1llercat commented 2 years ago

Hello,

I'm trying to deploy this on portainer, but running into several problems. 1st: I can not deploy a config.yaml alongside the actual deployment, which is... fine, i guess? Maybe can edit it later, but 2nd: I'm getting the error 'password authentication failed for user "szuru"' on the sql-container and soon afterwards the server-container crashes.

I am running DietPi (with docker, docker-compose and portainer) on a Proxmox VM and left the 'docker-compose.yml' unedited for testing. The .env-variables I also left unedited except for the port, which I changed to 8081.

Is it just not possible or is there something I am doing wrong?

_szurubooru-server-1_logs.txt _szurubooru-sql-1_logs.txt

noirscape commented 2 years ago

1st: server/config.yaml needs to be mounted inside the container, it's keys are based on what is loaded in server/config.yaml.dist; just copy over the keys you want to change.

For the most minimal setup, you just need to copy and change domain to the server you want to run on. In production, you also want to at least change secret to something else to prevent people from just scraping your files or trying to hash table your passwords.

It can't be missing, under docker it creates a folder on the host and in the container instead, which doesn't work. If that happened, stop the container and remove the server/config.yaml folder and do what I said up above.


2nd: As for PostgresSQL -> You're not running from a clean database (assuming this is a fresh deployment). I'd suggest checking your mounted folder (assuming you didn't change the default .env value: it's in /var/local/szurubooru/sql). It should be empty if this is a completely new deployment. If it's not and you're absolutely sure that you're not having another database from a previous installation, then just wipe the folder.

I'm not very familiar with portainer, so maybe it has it's own limitations surrounding that, in which case I recommend looking into that.