cloudbeaver icon indicating copy to clipboard operation
cloudbeaver copied to clipboard

How to configure dockerized cloudbeaver

Open AOne-T opened this issue 2 years ago • 6 comments

Please, describe your question in details. I'm running Cloudbeaver using docker-compose

  cloudbeaver:
    image: dbeaver/cloudbeaver:23.2.1
    container_name: cloudbeaver
    restart: always
    ports:
      - 8978:8978
    networks:
      - mynet
    volumes:
      - dbeaver-data:/opt/cloudbeaver/workspace

In docs (https://github.com/dbeaver/cloudbeaver/wiki/Server-configuration) I found that I can change parameter sqlTextPreviewMaxLength in cloudbeaver.conf. Should I make a copy of it from a container, attach it as a volume? Or is there another way?

AOne-T avatar Oct 03 '23 08:10 AOne-T

Hi, @AOne-T If you would like to change default config for all future deployments, then you should copy-paste it and map config folder (you also should copy other config files). If you would like to change existing deploy - just change this parameter in .cloudbeaver.runtime.conf.

EvgeniaBzzz avatar Oct 04 '23 15:10 EvgeniaBzzz

It would be awesome to see environment variable configuration capabilities baked into the container, generating the config file on startup.

bkuhl avatar Oct 05 '23 19:10 bkuhl

I located cloudbeaver.conf in docker volume (/var/lib/docler/volumes/...). Changed the parameter and restarted container. It helped, but I don't think it is the best way

AOne-T avatar Oct 06 '23 06:10 AOne-T

That will work locally for a single project. I'm working with a more advanced setup where we use a .env to configure various aspects of the environment depending on where it's being run. Being able to control connection information such as host names, usernames, passwords via environment variables is pretty critical the portability of the application. Any kind of static file won't work.

bkuhl avatar Oct 06 '23 10:10 bkuhl

Hi guys @AOne-T @bkuhl We will implement this in future releases. Thanks for a feature request!

EvgeniaBzzz avatar Oct 09 '23 10:10 EvgeniaBzzz

I successfully configured dbeaver to work behind an nginx. Had to tweak /opt/cloudbeaver/conf/cloudbeaver.conf's server.rootURI from / to /dbeaver

Then in my nginx, I had to simply add this:

server {
  listen 80;
  server_name ${GENERIC_HOSTNAME};

  location /dbeaver {
    proxy_pass http://${DBEAVER_DOCKER_HOSTNAME}:${DBEAVER_DOCKER_PORT};
  }
}

Now i'm able to access http://localhost:3000/dbeaver (nginx)

But It was a bit tedious to configure.

  1. Had to copy /opt/cloudbeaver/conf/cloudbeaver.conf, tweak, and then add back as a volume
  2. I had to hard code the value. Specifying environment variable in the .conf file doesn't seem to work. I initially had this challenge with the nginx' docker, good thing an recent release allowed this feature! (adding in /etc/nginx/templates 🤘. See here)

An easier way to configure this please 🙏🙏


PS: Related -> #366

chardskarth avatar Jan 19 '24 17:01 chardskarth