Upgrade a self-managed server
Created using composer "create-project"
The best way to upgrade is to use the "Straight from GitHub" instructions below. In recent times, the deployment of the Firefly III Data Importer has changed and the "create-project" method is no longer recommended.
Straight from GitHub
Upgrading by pulling the remote repository
It's no longer possible to upgrade the data importer by pulling the code from the main or develop branch of the repository. Generated (JS) code and other dependencies are not in the repository, so your upgraded installation may not work as expected.
v1.9.1 is the latest version.
- Download the latest release as a
zipfile from GitHub. - Download the latest release as a
tar.gzfile from GitHub.
It is up to you, if you prefer the tar.gz file or the zip file.
Validate the downloaded archive
Optionally, you can validate and test the integrity of your download by also downloading the SHA256 checksum file.
With this SHA256 checksum file, you can verify the integrity of the download by running the following command:
# Should return: "DataImporter-v1.9.1.zip: OK"
sha256sum -c DataImporter-v1.9.1.zip.sha256
sha256sum -c DataImporter-v1.9.1.tar.gz.sha256
# alternative command:
shasum -a 256 -c DataImporter-v1.9.1.zip.sha256
shasum -a 256 -c DataImporter-v1.9.1.tar.gz.sha256
Move the old installation
Move the old installation to a temporary directory, ie data-importer-old. Example commands:
# moves the entire installation to a backup directory.
# this also serves as an impromptu backup of your installation
mv /var/www/data-importer /var/www/data-importer-old
Extract the archive
Extract the archive with the new release wherever you had installed the Firefly III data importer. In this example, it is /var/www/data-importer, but it could be anywhere. To do this over the command line, use the following command:
# The destination directory can be changed, of course.
unzip -o DataImporter-v1.9.1.zip -x "storage/*" -d /var/www/data-importer
# a tar.gz alternative:
tar -xvf FireflyIII-v1.9.1.tar.gz -C /var/www/data-importer --exclude='storage'
Use sudo if necessary, but if you do, make sure that you set the ownership of the /var/www/data-importer directory to www-data again:
# The destination directory can be changed, of course.
sudo chown -R www-data:www-data /var/www/data-importer
sudo chmod -R 775 /var/www/data-importer/storage
Exclude the storage directory
When unpacking, make sure you do not overwrite the storage directory. That's why the -x "storage/*" and --exclude='storage' part is important. It prevents the default storage directory from being extracted. You will overwrite it anyway from the old installation directory.
Copy over files from the old version
Copy the .env file and the entire storage folder from the old installation to the new one. Example commands:
# copy the .env file
cp /var/www/data-importer-old/.env /var/www/data-importer/.env
# copy the storage directory
cp -r /var/www/data-importer-old/storage /var/www/data-importer
Run upgrade commands
Run the following commands to upgrade the database and the application:
And you're done!