The following steps describe the prerequisites for the actual firefly setup:
-
Flash (e.g., using Etcher) raspbian-buster-lite onto SD card (e.g., 16GB).
-
Create an empty
sshfile on the SD card's boot partition. -
Create a
wpa_supplicant.conffile (see template provided with this gist) on the SD card's boot partition (link). -
Eject SD card properly and start raspi with it (just provide power).
-
Use a shell/terminal and connect to the raspi with
ssh pi@rasperrypi(usernamepi, hostnameraspberrypi, and default password israspberry).
If your raspi is not found, check (1) whether your WPA config was correct (note that the file gets deleted whenever the raspi boots), (2) that your router allowed your raspi to enter your WAN/LAN, and (3) that you remove your raspi from previous known hosts (.ssh/known_hosts).
-
Update the raspi:
sudo apt-get -y update && sudo apt-get -y full-upgrade
-
Change
piuser password:sudo raspi-config
-
Install Docker:
curl -sSL https://get.docker.com | shsudo usermod -aG docker pi- optional: test docker
docker run hello-world
-
Install docker-compose:
sudo apt-get -y install libffi-dev libssl-devsudo apt-get -y install python python-pipsudo apt-get -y remove python-configparser(some fix I had to apply for correct pip-based install)sudo pip install docker-compose
-
Configure raspi:
sudo raspi-config- Set hostname to, e.g.,
firefly(needs to be consistent with all upcomming hostnames). Note that for subsequent ssh connects the new hostname needs to be used: e.g.,ssh pi@firefly... - optional: set timezone, WiFi locale, expand filesystem etc. and reboot
sudo reboot.
-
Create folder structure for firefly and nginx config:
cd /opt/sudo mkdir dockercd docker/sudo mkdir conf.dcd conf.d/
-
Create nginx config:
sudo openssl req -x509 -newkey rsa:2048 -keyout firefly.key -out firefly.crt -days 365 -nodes(the hostname needs to be set accordingly, all other settings are optional/can be defaulted)sudo nano firefly.conf(and pastefirefly.confcontents, theproxy_passneeds to be adjusted later)- check:
lsshould outputfirefly.conf firefly.crt firefly.key...
-
Create firefly config:
cd /opt/docker/sudo nano firefly.yml(see template provided with this gist and adjustPOSTGRES_PASSWORD)sudo nano firefly.env(see template) and adjust as follows:
...
TZ=<your preferred time zone>
...
APP_URL=https://firefly
...
TRUSTED_PROXIES=**
...
DB_PASSWORD=<pw set for postgres earlier>
...
-
optional: Make a backup of your SD card.
-
start docker in order to get
proxy_passfor firefly.conf:docker-compose -f firefly.yml up -d(start firefly)docker network inspect docker_firefly_iii_net(read out the gateway address, mine is "172.18.0.1")docker-compose -f firefly.yml stop(stop firefly)sudo nano conf.d/firefly.conf(adjust theproxy_pass)
- start:
docker-compose -f firefly.yml up -d - stop:
docker-compose -f firefly.yml stop - recreate:
docker-compose -f firefly.yml up -d --force-recreate - show log while running:
docker container ls -f name=firefly_iii_app(copyCONTAINER ID)docker container logs -f <containerID>
Did you resolve this issue, I got the same result, however, I edited the firefly.yml and used fireflyiii/core rather than jc5x/firefly-iii