I have installed Invoceninja.
All containers are running fine.
I have adjusted the following in the .env: APP_URL=http://192.168.178.103:8002
I open the port in the firewall (router and Synology).
When I call up the URL via the browser, the following error message appears: Connection failed
What strikes me is that the published port is not displayed in Portainer.io.
Host port 8002 → Container port 8000 (Invoice Ninja listens on 8000 inside the container).
If you are using docker-compose, add this to your docker-compose.yml:
services:
server:
image: invoiceninja/invoiceninja:5
ports:
- "8002:8000"
env_file:
- .env
# other settings like volumes etc
Then run:
docker-compose up -d
Why is the port missing in Portainer?
Because unless you explicitly publish (-p or ports: in compose), Docker isolates containers — no external connection is possible.
Portainer shows published ports only if you map them at container creation.
Quick Checklist
Publish port 8002 mapped to 8000 inside container
Make sure firewall allows 8002
Browser goes to http://192.168.178.103:8002
.env APP_URL matches the public URL
Would you like me to help you write an exact docker-compose.yml you can copy-paste for Synology?
(It’s often the easiest way on Synology setups.)
If your APP_URL ends up on Port 8002 then this port imo have to be set up in the nginx-container.
In my docker setup for invoiceninja, only the nginx-container has defined ports.
Is this correct, I have to enter the correct path on line 22, 23, 24, 41, 42.
Do I have to enter values on line 55-58?
I can accept everything else as standard.
I get the following error message during installation:
ox@Synology_DS923:/volume1/docker/invoiceninja/dockerfiles/debian$ sudo docker-compose up
Password:
WARN[0000] The “amm3nM” variable is not set. Defaulting to a blank string.
WARN[0000] The “amm3nM” variable is not set. Defaulting to a blank string.
WARN[0000] The “amm3nM” variable is not set. Defaulting to a blank string.
parsing /volume1/docker/invoiceninja/dockerfiles/debian/docker-compose.yaml: yaml: line 63: did not find expected ‘,’ or ‘]’
WARN[0000] The “amm3nM” variable is not set. Defaulting to a blank string.
WARN[0000] The “amm3nM” variable is not set. Defaulting to a blank string.
WARN[0000] The “amm3nM” variable is not set. Defaulting to a blank string.
now only this remains
parsing /volume1/docker/invoiceninja/dockerfiles/debian/docker-compose.yaml: yaml: line 63: did not find expected ‘,’ or ‘]’
this yml uses docker-volumes, so you don’t have to change any path.
Line 55 to 58: This Variables should be in the .env file. In docker compose there is nothing to.
If you get any errors please send your .env file without passwords.
The last error is from copy&paste. you have to change the copied " (in my case there are italic) to normal one via Search&replace in the whole docker-compose.yml file.
I still had problems logging in. Resetting by email didn’t work either. Now I have copied the link from the laravel.log and am logged in. I noticed that the time stamps of the log do not show the correct time. Do I still have to set the time zones? (.env or yml)
I have not yet found the optimum time zone setting either.
I once defined the time zone in each service in the docker-compose, but this resulted in various downloads generated from the app not working because they are usually only valid for 1 hour.
I don’t currently use a time zone in the individual apps. But you should set this in Invoiceninja. Settings-Localisation