victor-rds / docker-etebase

Docker image files for Etebase server
GNU Affero General Public License v3.0
95 stars 28 forks source link

Database types #57

Closed plsnotracking closed 3 years ago

plsnotracking commented 3 years ago

Hello,

Thank you for maintaining an image and keeping it up to date.

etebase 2.0 allows different database types (such as mariadb, mysql), but the README.md currently only seems to provide two options:

  1. sqlite
  2. postgres

I was wondering if there was a reason or maybe I could help if there was any needed.

Specifically: https://github.com/victor-rds/docker-etebase/blob/e1ef105381303fa7859f85d3769d08bc54b414d1/context/entrypoint.sh#L115

We edit this line to have more freedom, we should be good (and all the other relevant options with it).

Link: https://github.com/victor-rds/docker-etebase/blob/e1ef105381303fa7859f85d3769d08bc54b414d1/context/entrypoint.sh#L178

engine = django.db.backends.mysql
name = etebase
user = etebase
password = your-password
host = 127.0.0.1
port = 3306

Source^: https://www.linuxbabe.com/ubuntu/install-etesync-server-ubuntu

Another question was, the docker would potentially give an error if it's above 1024 (or maybe I read it incorrectly)? MySQL typically runs on 3306, is there a good way to handle this?

Current I placed the etebase-server.ini in /data and pre fill the configuration if anyone is in the same boat as I.

Edit: added links to make the issue more specific, added current workaround.

victor-rds commented 3 years ago

Sadly MySQL and MariaDB are not officially supported by the Etebase Server, there is an open issue on the etebase repository.

https://github.com/etesync/server/issues/69

victor-rds commented 3 years ago

Another question was, the docker would potentially give an error if it's above 1024 (or maybe I read it incorrectly)? MySQL typically runs on 3306, is there a good way to handle this?

Sorry but I didn't understand this, but you can and should listen on ports 1024 and above, ports 0 to 1023 are privileged ports only process running with superuser permissions listen to them.

My image does not run as root (unless you force it), by default most databases uses unprivileged users, postgres por example uses the 5432 TCP port .

victor-rds commented 3 years ago
if [ "${PORT}" -lt "1024" ] && [ "${C_UID}" -ne '0' ]; then
    dckr_error "Only root can use ports below 1024"
fi

If you talking about the code above, this is about the port used by the etebase server, not the port for database communications, and as stated previously the error only happens if you try to use ports below 1024 with an unprivileged user