Skip to content

Latest commit

 

History

History
89 lines (62 loc) · 3.23 KB

installation.md

File metadata and controls

89 lines (62 loc) · 3.23 KB

Installation

1. Docker (recommended)

  1. Choose your preferred docker image flavor:
  • :latest - Stable, less frequent updates
  • :dev - Cutting edge, latest features
  1. Pick a docker-compose as a starting point:
  • Pico only (If you already have Firefly installed).
    • Change FIREFLY_URL
  • Pico + Firefly (If you want an easy 2 in 1)
    • Change FIREFLY_URL and APP_URL
  • Pico + Firefly + Importer (If you want an easy 2 in 1 and the importer as well)
    • Change FIREFLY_URL, APP_URL and FIREFLY_III_URL

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

  1. Change DB_PASSWORD and POSTGRES_PASSWORD to something secure. Make sure they match! If you want separate passwords for Pico and Firefly make sure they match for pico-app <-> pico-db, and firefly-app <-> firefly-db

  2. 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)

2. Manual installation

2.1. Requirements:

  • NodeJS >= 20
  • PHP >= 8.0
    • Required Extensions: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, XML.
  • Git
  • Composer >= 2.0

2.2. Steps:

Clone the repository

git clone https://github.com/cioraneanu/firefly-pico
cd firefly-pico

Backend (Laravel):

  1. cd back

  2. Copy the .env.example file to .env. Set FIREFLY_URL + database config.

  3. Run composer install --no-dev

  4. Run php artisan key:generate to generate a unique application key

  5. Run php artisan migrate to update the database.

  6. 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.

Frontend (Nuxt):

  1. cd front

  2. Run npm install

  3. Run npm run build

  4. Serve it:

    • Quick way: npm run prod.
    • Better way: Set it up with PM2 as explained here Nuxt deployment

3. Post install config

If you've used Firefly before you can skip step 1-2 and continue at step 3.

  1. Open Firefly and create your first login account.

  2. Enable your desired currencies and mark one as default.

  3. Go to "Options" -> "Profile" -> OAuth -> Create New Personal Access Token. Save this token somewhere safe.

  4. 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! :)