Mudanças entre as edições de "Metabase"
De MochilaWiki
Ir para navegaçãoIr para pesquisar(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 42: | 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 58: | 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/