The docker-compose.yml file is used to build and run Metabase in the current workspace.
Just remplace docker-compose.yml by docker-compose.yml.mysqlonhost
rm docker-compose.yml
cp docker-compose.yml.mysqlonhost docker-compose.yml
create a metabase database name metabase on the host mysql server and a user metabase with grant privilige on it. The password will be put in .env file (see below chapter) From server installer
~/servermanager/scripts/mysql-create-db-user-random-pwd metabase
First times create volume for maria db
mkdir -p /opt/data/metabase
docker volume create --driver local \
--opt type=none \
--opt device=/opt/data/metabase \
--opt o=bind metabase-mariadb
create network where other container can bind to
docker create network metabase-mariadb
Then, create a .env file all environment variables, including the root password, as follows (the password is raw after the equal sign) :
if you are in case of Mysql install and running on HOST (and you want target db in it)
MYSQL_PASSWORD_METABASE=qsdqdsqdsqdsqdsq
else
MYSQL_ROOT_PASSWORD_METABASE=qsdqdsqdsqdsqdsq
METABASE_RESTART=always
# For production
METABASE_RESTART=no
# For test
PLEASE, do apply secure permissions to this .env file (in production):
chmod 600 .env
Configure your local nginx, you can find sample nginx.conf.sample
cp nginx.conf.sample /etc/nginx/sites-available/YOUR_URL.conf
nano /etc/nginx/sites-available/YOUR_URL.conf
ln -s /etc/nginx/sites-available/YOUR_URL.conf /etc/nginx/sites-enabled/YOUR_URL.conf
nginx -s reload
Note : the redirect port is currently 6082 (or 3000 in case of Mysql install and running on HOST (and you want target db in it)) set into docker-compose.xml Do not forget to run certbot or complete nginx conf file
certbot run --nginx --redirect -d YOUR_URL
docker-compose up
for production go to https://YOUR_URL
for local test go to http://0.0.0.0:6082