Introdução
O Firefly III é uma aplicação de código aberto para gerenciamento financeiro pessoal, amplamente adotada por quem busca controle e privacidade sobre seus dados. Neste artigo, você aprenderá a instalar o Firefly III manualmente (sem Docker) em uma instância da LetsCloud, aproveitando os recursos escaláveis da plataforma para manter suas finanças organizadas, seguras e sob total controle.
Objetivos
O objetivo deste tutorial é orientar usuários que desejam instalar e configurar o Firefly III em uma instância da LetsCloud sem o uso de Docker. A instalação será realizada manualmente, oferecendo maior controle e flexibilidade na gestão do ambiente, utilizando uma stack baseada em Linux, PHP e MariaDB. Este guia é ideal para desenvolvedores, profissionais de infraestrutura e entusiastas que buscam autonomia para gerenciar suas finanças pessoais de forma segura e auto-hospedada.
Requisitos
Antes de começar, você precisará de:
- Um plano ativo da LetsCloud
- Uma instância Linux (recomendado: Ubuntu 24.04 LTS)
- Acesso root (ou sudo)
- Nome de domínio (opcional, mas recomendado)
- Servidor Web Nginx
- PHP 8.1 ou superior com extensões necessárias
- MySQL/MariaDB
- Composer
- Git
Passo a Passo de Instalação
Atualize seu sistema
$sudo apt update && sudo apt upgrade -y
Instale as dependências
$sudo apt install php php-cli php-common php-mbstring php-xml php-bcmath php-curl php-mysql php-tokenizer php-zip unzip curl git composer nginx mariadb-server -y
Configure o banco de dados
$sudo mysql -u root
mysql>mysql>mysql>mysql>mysql>CREATE DATABASE firefly CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fireflyuser'@'localhost' IDENTIFIED BY 'senha_segura';
GRANT ALL PRIVILEGES ON firefly.* TO 'fireflyuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Clone o Firefly III
$$$$cd /var/www/
sudo git clone https://github.com/firefly-iii/firefly-iii.git
cd firefly-iii
sudo git checkout main
Configure o ambiente
$$cp .env.example .env
nano .env
Altere as variáveis:
.env
APP_KEY=base64:...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=fireflyuser
DB_PASSWORD=senha_segura
Gere a chave da aplicação
php artisan key:generate
Instale as dependências e configure permissões
$$$$composer install --no-dev --optimize-autoloader
php artisan migrate --seed
sudo chown -R www-data:www-data /var/www/firefly-iii
sudo chmod -R 755 /var/www/firefly-iii/storage
Configure o Nginx
$sudo nano /etc/nginx/sites-available/firefly
Conteúdo do arquivo:
firefly
server { listen 80; server_name seu_dominio.com;
root /var/www/firefly-iii/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Habilite o site:
$$$sudo ln -s /etc/nginx/sites-available/firefly /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Acesso
Agora, acesse o Firefly III pelo IP da instância ou pelo domínio configurado:
http://<seu-ip-ou-dominio>
Dica de Segurança
Recomenda-se configurar HTTPS com Let's Encrypt utilizando Certbot:
$$sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
Conclusão
Com a LetsCloud, você tem a liberdade de criar ambientes personalizados como este, com controle total sobre segurança, escalabilidade e personalização. O Firefly III é uma excelente escolha para gerenciar finanças pessoais ou até mesmo em pequenos negócios.
0 COMMENTS