Mudanças entre as edições de "Metabase"

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 23h42min 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