Firefly III, Part Three
Configure Operating System
Create SSH Key
Steps performed on desktop via Windows Terminal
ssh-keygen -t ed25519
Move-Item -Path c:\Users\david\filename* - Destination c:\Users\david\.ssh -Force
- I open Windows Terminal
Settings
- I open the
JSON
file and add the following:
{
"colorScheme": "Ubuntu-ColorScheme",
"commandline": "ssh -i \"~/.ssh/example\" [email protected]",
"experimental.retroTerminalEffect": false,
"font":
{
"face": "Cascadia Code"
},
"guid": "{0caa0dad-35be-5f56-a8ff-XXXXXXXXXXXXX}",
"hidden": false,
"name": "FIREFLY-01",
"tabTitle": "FIREFLY-01"
},
- I confirm the
GUID
is unique and save theJSON
file
Configure SSH
Steps performed on FIREFLY-01
mkdir /home/david/.ssh
nano /home/david/.ssh/authorized_keys
- I paste in the public key and save
authorized_keys
chmod 600 /home/david/.ssh/authorized_keys
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PubkeyAuthentication yes
PubkeyAcceptedKeyTypes ssh-ed25519
PasswordAuthentication no
AuthorizedKeysFile /home/david/.ssh/authorized_keys
- I save
sshd_config
sudo sshd -t
sudo systemctl restart ssh
Configure UFW
Steps performed on FIREFLY-01
sudo apt install ufw
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 81
sudo ufw enable
Install Firefly III Dependencies
Steps performed on FIREFLY-01
sudo mkdir /apps
sudo mkdir /apps/firefly
sudo apt install docker
sudo apt install docker-compose
Install Firefly III
Steps performed on FIREFLY-01
cd /apps/firefly
wget https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose-importer.yml
wget https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example
wget https://raw/githubusercontent.com/firefly-iii/docker/main/database.env
wget https://raw.githubusercontent.com/firefly-iii/data-importer/main/.env.example
sudo nano .importer.env
FIREFLY_III_URL=http://app.8080
sudo nano .env
DB_PASSWORD=secret_firefly_password
sudo nano .db.env
MYSQL_PASSWORD=secret_firefly_password
sudo docker-compose pull
sudo docker-compose up -d
Testing the installation at http:/firefly.domain.local
in a browser is successful! It brought me to a registration page. Nice and easy, I like it! Now I just have to figure out how to use the software.