Docker container Timezone issue

So I am self hosting Invoice Ninja in docker on UnRaid. It seems that IN is ignoring timezones being set in both UnRaid and IN web interface itself. When I shell into the container and issue the date command, it’s 6 hours ahead. This is causing re-occurring invoices to be sent too early. I’ve tried setting the variables “TZ” and “APP_TIMEZONE” to “America/Chicago” (I am in Central Time), but it’s not taking it. Any suggestions?


The server and app timezone should be set to UTC, you can set the company timezone on Settings > Localization.

It may help to specify a send time on Settings > Email Settings.

I did have the company timezone set in the localization settings to America/Chicago. I also wanted re-occurring invoices sent at noon. It was suppose to invoice and auto-bill a client yesterday at noon, but it ended up sending out the invoice and billing them at 6PM (ET) on Saturday.

So from what it seems like, it’s a two fold issue where the container timezone is not correct (even the times in the logs are 6 hours ahead) even though it is set in the company localization in the web interface. But also the second issue is is that it’s also ignoring the time in the email settings. I specified to send at Noon, so even with the timezone being 6 hours ahead it should have sent it at midnight Sunday morning, not at 6pm Saturday.

@david do you have any thoughts?

I’m having the same issue on this too. Company timezone has already been set.
Tried using TZ in environment variable on docker-compose but it does not work.
The TZ environment variable works in the nginx server.

@hillel @david

The system is designed to work in UTC, as hillel mentioned, use the send time in email settings to adjust the email sending times as it uses your company timezone to calculate from.