Metabase: mudanças entre as edições

De MochilaWiki
Ir para navegaçãoIr para pesquisar
Criou página com ' == Instalando em Ubuntu 20.04 == apt update apt install openjdk-11-jdk openjdk-11-jre apt install mariadb-server systemctl start mariadb systemctl enable mariadb mysql -u ro...'
 
 
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 2: Linha 2:
== Instalando em Ubuntu 20.04 ==
== Instalando em Ubuntu 20.04 ==


dependências
<source lang="bash">
apt update
apt update
apt install openjdk-11-jdk openjdk-11-jre
apt install openjdk-11-jdk openjdk-11-jre
Linha 8: Linha 10:
systemctl enable mariadb
systemctl enable mariadb
mysql -u root -p
mysql -u root -p
</source>


criando banco de dados
<source lang="mysql">
CREATE DATABASE metabase;
CREATE DATABASE metabase;
CREATE USER 'metabase_user'@'localhost' IDENTIFIED BY 'Strong_Password';
CREATE USER 'metabase_user'@'localhost' IDENTIFIED BY 'Strong_Password';
GRANT ALL ON metabase.* TO 'metabase_user'@'localhost' WITH GRANT OPTION;
GRANT ALL ON metabase.* TO 'metabase_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
EXIT;
EXIT;
</source>


sudo mkdir /home/metabase
instalando
<source lang="bash">
mkdir /home/metabase
cd /home/metabase
cd /home/metabase
 
wget https://downloads.metabase.com/v0.39.3/metabase.jar
wget https://downloads.metabase.com/v0.36.7/metabase.jar
groupadd -r metabase
 
useradd -r -s /bin/false -g metabase metabase
sudo groupadd -r metabase
chown -R metabase:metabase /home/metabase
sudo useradd -r -s /bin/false -g metabase metabase
touch /var/log/metabase.log
sudo chown -R metabase:metabase /home/metabase
chown metabase:metabase /var/log/metabase.log
sudo touch /var/log/metabase.log
touch /etc/default/metabase
sudo chown metabase:metabase /var/log/metabase.log
chmod 640 /etc/default/metabase
sudo touch /etc/default/metabase
</source>
sudo chmod 640 /etc/default/metabase
 


em /etc/systemd/system/metabase.service
em /etc/systemd/system/metabase.service
Linha 38: Linha 42:
   
   
  [Service]
  [Service]
MB_PASSWORD_COMPLEXITY=strong
MB_PASSWORD_LENGTH=12
MB_DB_TYPE=mysql
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=metabase_user
MB_DB_PASS=Strong_Password
MB_DB_HOST=localhost
MB_EMOJI_IN_LOGS=true
  WorkingDirectory=/home/metabase/
  WorkingDirectory=/home/metabase/
  ExecStart=/usr/bin/java -jar /home/metabase/metabase.jar
  ExecStart=/usr/bin/java -jar /home/metabase/metabase.jar
Linha 54: Linha 67:


em /etc/rsyslog.d/metabase.conf
em /etc/rsyslog.d/metabase.conf
if $programname == 'metabase' then /var/log/metabase.log
& stop
<source lang="bash">
systemctl restart rsyslog.service
</source>
em /etc/default/metabase (alternativa, mas não funcionou no meu teste... deu certo inserindo no service)
MB_PASSWORD_COMPLEXITY=strong #weak|strong
MB_PASSWORD_LENGTH=10
MB_DB_TYPE=mysql #postgres|mysql|h2
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=metabase_user
MB_DB_PASS=Strong_Password
MB_DB_HOST=localhost
MB_EMOJI_IN_LOGS=true #true|false
iniciando metabase e habilitando para iniciar no boot
<source lang="bash">
systemctl daemon-reload
systemctl start metabase
systemctl enable metabase
</source>
=== instalando e configurando o nginx ===
<source lang="bash">
apt install nginx
</source>
em /etc/nginx/sites-available/metabase
<source lang="nginx">
server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
</source>
reiniciando nginx e habilitando para iniciar no boot
<source lang="bash">
ln -s /etc/nginx/sites-available/metabase /etc/nginx/sites-enabled/metabase
systemctl daemon-reload
systemctl restart nginx
systemctl enable nginx
</source>
=== Dicas ===
Para delimitar o uso de memória RAM
ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar metabase.jar
Para verificar se o processo está rolando na porta 3000
ss -tunelp | grep 3000
Talvez seja necessário instalar o mariadb-client (apt install mariadb-client)
=== Restaurando database em Docker ===
<source lang="bash">
docker stop metabase
docker run -d -p 3000:3000 \
-v ~/metabase-data:/metabase-data \
-e "MB_DB_FILE=/metabase-data/metabase.db" \
--name metabase metabase/metabase
cp metabase.db.* ~/metabase-data/metabase.db/
</source>
https://discourse.metabase.com/t/how-to-load-metabases-database-backup-inside-docker-container/1207/3
=== Referências ===
* https://www.letscloud.io/community/how-to-install-metabase-on-ubuntu-20-04-as-a-service-with-nginx
* https://discourse.metabase.com/t/configuring-metabase-with-mysql/3623/14
* https://computingforgeeks.com/how-to-install-metabase-with-systemd-on-ubuntu/

Edição atual tal como às 20h42min de 13 de fevereiro de 2023

Instalando em Ubuntu 20.04

dependências

apt update
apt install openjdk-11-jdk openjdk-11-jre
apt install mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql -u root -p

criando banco de dados

CREATE DATABASE metabase;
CREATE USER 'metabase_user'@'localhost' IDENTIFIED BY 'Strong_Password';
GRANT ALL ON metabase.* TO 'metabase_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

instalando

mkdir /home/metabase
cd /home/metabase
wget https://downloads.metabase.com/v0.39.3/metabase.jar
groupadd -r metabase
useradd -r -s /bin/false -g metabase metabase
chown -R metabase:metabase /home/metabase
touch /var/log/metabase.log
chown metabase:metabase /var/log/metabase.log
touch /etc/default/metabase
chmod 640 /etc/default/metabase

em /etc/systemd/system/metabase.service

[Unit]
Description=Metabase server
After=syslog.target
After=network.target

[Service]
MB_PASSWORD_COMPLEXITY=strong
MB_PASSWORD_LENGTH=12
MB_DB_TYPE=mysql
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=metabase_user
MB_DB_PASS=Strong_Password
MB_DB_HOST=localhost
MB_EMOJI_IN_LOGS=true
WorkingDirectory=/home/metabase/
ExecStart=/usr/bin/java -jar /home/metabase/metabase.jar
EnvironmentFile=/etc/default/metabase
User=metabase
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=metabase
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always
 
[Install]
WantedBy=multi-user.target

em /etc/rsyslog.d/metabase.conf

if $programname == 'metabase' then /var/log/metabase.log
& stop
systemctl restart rsyslog.service

em /etc/default/metabase (alternativa, mas não funcionou no meu teste... deu certo inserindo no service)

MB_PASSWORD_COMPLEXITY=strong #weak|strong
MB_PASSWORD_LENGTH=10
MB_DB_TYPE=mysql #postgres|mysql|h2
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=metabase_user
MB_DB_PASS=Strong_Password
MB_DB_HOST=localhost
MB_EMOJI_IN_LOGS=true #true|false

iniciando metabase e habilitando para iniciar no boot

systemctl daemon-reload
systemctl start metabase
systemctl enable metabase

instalando e configurando o nginx

apt install nginx

em /etc/nginx/sites-available/metabase

server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}

reiniciando nginx e habilitando para iniciar no boot

ln -s /etc/nginx/sites-available/metabase /etc/nginx/sites-enabled/metabase
systemctl daemon-reload
systemctl restart nginx
systemctl enable nginx

Dicas

Para delimitar o uso de memória RAM

ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar metabase.jar

Para verificar se o processo está rolando na porta 3000

ss -tunelp | grep 3000

Talvez seja necessário instalar o mariadb-client (apt install mariadb-client)


Restaurando database em Docker

docker stop metabase
docker run -d -p 3000:3000 \
-v ~/metabase-data:/metabase-data \
-e "MB_DB_FILE=/metabase-data/metabase.db" \
--name metabase metabase/metabase
cp metabase.db.* ~/metabase-data/metabase.db/

https://discourse.metabase.com/t/how-to-load-metabases-database-backup-inside-docker-container/1207/3

Referências