Fixing Journiv Login: Change Default API URL from localhost
By default, the Journiv web UI points its API calls to http://localhost:8000. That only works if you’re accessing Journiv from the same machine that runs the backend.
If you open Journiv from another device (phone, laptop, tablet) and the frontend still points to localhost, all login and signup requests are sent to the wrong place. The backend is healthy, the database is fine, but the browser is talking to itself instead of your Journiv server.
http://localhost:8000 to the actual URL of your Journiv backend.1. Understand the problem
Typical setup:
- Backend container: Journiv app, listening on port
8000inside Docker. - Host mapping:
0.0.0.0:8070 -> 8000(for example). - You access:
http://SERVER-IP:8070from another machine.
The login page loads, but the frontend JavaScript still tries to call http://localhost:8000 as its API base URL. On your phone or laptop, localhost means that device, not the Journiv server.
Result:
- Login fails silently or with generic errors.
- Signup doesn’t work, even though the backend is running.
- Network tab in dev tools shows failed requests to
http://localhost:8000.
2. Find the API URL field on the login screen
On the Journiv login screen, there is a field or setting where the API URL is shown or can be edited. Depending on the build, it may be:
- A visible text field labeled something like “Server URL” or “API URL”.
- A small editable URL under the login form.
- An advanced or settings icon that opens a dialog with the API endpoint.
If you see http://localhost:8000 there, that’s the culprit. That URL only works when you’re on the same machine as the backend.
3. Replace localhost with your server address
Change the URL from:
http://localhost:8000to the actual address of your Journiv backend, for example:
http://YOUR-SERVER-IP:8070or, if you’re using a domain and reverse proxy:
https://journiv.example.comKey points:
- Use the host and port that actually reach your Journiv backend.
- If Docker maps
8000to8070on the host, use:8070externally. - If you’re behind Traefik / Nginx Proxy Manager / Caddy, use the public URL you configured.
4. Verify that the frontend now talks to the correct backend
After updating the URL:
- Reload the login page.
- Open your browser’s developer tools (F12) and go to the Network tab.
- Try logging in or signing up.
You should now see requests going to your server, e.g.:
http://YOUR-SERVER-IP:8070/api/auth/login
http://YOUR-SERVER-IP:8070/api/auth/signupIf those calls return 200 or appropriate error codes from your backend, the wiring is correct.
5. Why this matters for any self-hosted app
Journiv is a good example of a common self-hosting pitfall: the frontend is hardcoded to localhost, which works in development but breaks the moment you access it from another machine.
Whenever you see:
- Login/signup not working, but containers are healthy.
- Database reachable, but no visible progress in the UI.
- Network calls failing to
http://localhost:PORTfrom a remote device.
Always check whether the frontend is pointing to localhost instead of the actual server URL. Fixing that one string often brings the whole app to life.
6. Summary
- Journiv’s backend and database can be perfectly healthy while the UI appears “broken”.
- The real issue is the default API URL:
http://localhost:8000. - On any device other than the server itself,
localhostis the wrong target. - Change the URL on the login screen to your actual server address and port.
- After that, login and signup start working as expected.
Inga kommentarer hittades