Upgrade to 4.5.38 not going well at all

OK, so I’m running self-hosted docker-compose from GIT. I’m currently running 4.5.17 and want to get to 4.5.38 to migrate to 5.

4.5.17 is running like a champ, so I’ve not touched it. Hence why it’s so old.

Here’s what I’ve done like 25 times

  1. copy existing env file
  2. git pull (which totally changes the directory stucture
  3. splice in old env into new one (where it make sense, leaving new env if it wasn’t defined in old one)
  4. edit docker-compose.yml and uncomment the v4 stuff at the bottom
  5. change the invoiceninja:5 line to invoiceninja:4 (tried leaving it alone too)
  6. chmod 755 docker/app/public
  7. chown -R 1500:1500 docker/app
  8. docker pull
  9. docker-compose up
  10. shut down docker-compose
  11. reran chown/chmod
  12. foreign key issue with gateways (
    removed with ```
    ALTER TABLE invninja.gateways DROP FOREIGN KEY gateways_payment_library_id_foreign;

At that point, it drops into a new install and my invoices table is blank even if I didn’t continue with the startup wizard. I’m not sure if it was before or after my alter table. but this is a bloody mess.

I’m just about tempted to csv export it and import it into V5, but I have lots of documents attached to the expense reports that I don’t want to lose. I’m not sure what the key/filename structure is for that.

Any help would be appreciated before I take the nuclear option.


For help with Docker we recommend creating an issue on the dockerfile repo.

You may want to setup a new v4 app and copy over your database, .env file and documents. To upgrade to v5 you’ll need to use the migration tool in v4.

Hi @seanmahrt, Did you ever figure this out? I’m in a similar boat.