- Choose your preferred docker image flavor:
- :latest - Stable, less frequent updates
- :dev - Cutting edge, latest features
- Pick a docker-compose as a starting point:
- Pico only (If you already have Firefly installed).
- Change
FIREFLY_URL
- Change
- Pico + Firefly (If you want an easy 2 in 1)
- Change
FIREFLY_URL
andAPP_URL
- Change
- Pico + Firefly + Importer (If you want an easy 2 in 1 and the importer as well)
- Change
FIREFLY_URL
,APP_URL
andFIREFLY_III_URL
- Change
Note
FIREFLY_URL
needs to point your Firefly instance. If you don't use a reverse proxy make sure you provide the full IP + Port.
Ex. http://192.168.1.10:8080
or https://firefly.domain.com
-
Change
DB_PASSWORD
andPOSTGRES_PASSWORD
to something secure. Make sure they match! If you want separate passwords for Pico and Firefly make sure they match forpico-app <-> pico-db
, andfirefly-app <-> firefly-db
-
Start the container
docker compose -f docker-compose.yml up -d
Pico image env variables:
Name | Value |
---|---|
NUXT_PUBLIC_QUERY_TIMEOUT |
Milliseconds Pico should wait before a request times out. (Default 4000) |
TZ |
Pico backend Timezone (ex. Europe/London) |
- NodeJS >= 20
- PHP >= 8.0
- Required Extensions: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, XML.
- Git
- Composer >= 2.0
Clone the repository
git clone https://github.com/cioraneanu/firefly-pico
cd firefly-pico
Backend (Laravel):
-
cd back
-
Copy the
.env.example
file to.env
. SetFIREFLY_URL
+ database config. -
Run
composer install --no-dev
-
Run
php artisan key:generate
to generate a unique application key -
Run
php artisan migrate
to update the database. -
Serve it.
- Quick way:
php artisan serve
- Better way: You should have a Nginx/Apache web server up and configured it to serve
public/index.php
. You can read more here: Laravel Deployment.
- Quick way:
Frontend (Nuxt):
-
cd front
-
Run
npm install
-
Run
npm run build
-
Serve it:
- Quick way:
npm run prod
. - Better way: Set it up with PM2 as explained here Nuxt deployment
- Quick way:
If you've used Firefly before you can skip step 1-2 and continue at step 3.
-
Open Firefly and create your first login account.
-
Enable your desired currencies and mark one as default.
-
Go to
"Options" -> "Profile" -> OAuth -> Create New Personal Access Token
. Save this token somewhere safe. -
Open Pico , go to
Settings -> App Config
and paste the token from step 3.
Note
In 99% of cases you don't need to change the Pico Backend URL
setting. The backend url is where Pico lives.
DO NOT PUT YOUR FIREFLY URL HERE! :)