This repository contains useful scripts for the orchestration of a firefly iii instance. Feel free to use the gulp tasks for your personal application.
- Install via
yarn
- Create a
.env
file in the root of this repository with the following content:
# SSH Connection Information
SSH_HOST=<your server IP>
SSH_USER=<SSH user>V
SSH_PW=<SSH user password>
SSH_PORT=<SSH port > # optional (default: 22)
# DB Connection Information
DB_USER=<database user>
DB_PW=<database user password>
DB_HOST=<host of DB> # optional (default: localhost)
DB_NAME=<database name>
# Custom Project Information
FIREFLY_PATH=<path to your firefly app> # (e.g. /var/wwww/firefly-iii)
BACKUP_PATH=<path to your local folder for backups>
gulp backup
Performs a backup of all relevant files of your firefly iii application as follows:
- Creates a new folder for your backup in XXX
- Copies
.env
of your firefly application - Creates a SQL dump and moves it to
storage/database
- Copies
/storage/database
andstorage/uploads
to the backup folder
gulp restore
Restores files and database from backup at remote server:
- Selects desired backup to restore via prompt
- Copies
.env
to your firefly application - Copies
database
folder to/storage/database
- Copies
upload
folder to/storage/upload
- Restores database
- Deletes database dump remotely
gulp upgrade
Upgrades your firefly iii version to the newest one:
- Deletes
/var/www/<your-app>-old
folder - Installs newest version in
/var/www/<your-app>-updated
- Renames current
/var/www/<your-app>
to/var/www/<your-app>-old
- Renames new
/var/www/<your-app>-updated
to/var/www/<your-app>
- Updates folder permissions accordingly
- Restars apache server
Shoutout to @pedrom34 and his gist
gulp upgrade-importer
- Installs newest version in
/var/www/updated-data-importer
- Copies the current
.env
in the updated version - Moves the current data importer to
/var/www/old-data-importer
- Moves the updated data importer to
/var/www/data-importer
- Updates folder permissions accordingly