mirror of
https://github.com/fosrl/pangolin.git
synced 2026-07-17 07:04:36 -05:00
[GH-ISSUE #1241] 404 on all Ressources after update (1.4.0 -> 1.8.0) #16804
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Antoine2tt on GitHub (Aug 8, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/1241
Hello !
I'm having a 404 error on all ressources after update (from 1.4.0 to 1.8.0)
The only thing i'm seeing in log, is that traefik (1.4.5) is saying me this :
ERR Provider error, retrying in 664.618717ms error="cannot decode configuration data: field not found, node: sticky" providerName=httpFor information here's some config file
Docker Compose
pangolin config.yml
traefik dynamic config
traefik config
I already tried traefik v 2.5.0, not working, my "Sites" are online and using last newt version
Thanks for any help !
Have a good day!
@marcschaeferger commented on GitHub (Aug 8, 2025):
Hi @Antoine2tt,
The reason why all resources are returning 404 errors is that the configuration automatically generated by Pangolin for Traefik contains deprecated or outdated fields after your updates. Specifically, the field
stickyas indicated in the log is no longer supported in newer Traefik versions (previously used for load balancers). When Traefik encounters unknown or invalid fields like this, it fails to parse that configuration completely. As a result, no routes are registered, and Traefik responds with 404 for all the routes that are in the config that can't be parsed.How to Confirm:
You can inspect the automatically generated Traefik configuration directly from the Pangolin container by running the following commands:
To help pinpoint the exact issue, you can specifically look for the
stickyfield or other deprecated keys in the generated config:@Antoine2tt commented on GitHub (Aug 8, 2025):
Hello @marcschaeferger
Thanks for your answer, i did what you asked, and i saw "sticky" in the return of
curl http://pangolin:3001/api/v1/traefik-config | grep stickyAt the end of the output :
"sticky":{"ipStrategy":{"depth":0,"sourcePort":true}}}}}}}Is there anything i can do to fix that ?
Thanks !
@marcschaeferger commented on GitHub (Aug 8, 2025):
@Antoine2tt,
The
"sticky"field found in the generated Traefik configuration is stored within Pangolin's database alongside all resources and other configuration data. In your case, since your Pangolin setup does not specify an external database like PostgreSQL, it is very likely using SQLite, which is the default database if not explicitly overridden in the Pangolin app configuration.The
.dbSQLite file is stored on your Docker host's filesystem. Based on yourdocker-compose.yml, the database file is most likely located in the./configfolder alongside your compose file, and the specific file is typically named something likedb.sqlite.Step-by-Step Solution
1. Backup the SQLite Database
Before making any changes, it's critical to back up the SQLite database to ensure you can easily recover if something goes wrong.
Run (Example):
2. Copy the File for Editing
Create a working copy of this file, preferably in a temporary folder like
/tmp:3. Edit the SQLite Database
To remove the
"sticky"entry, open the copied database with a database editor. Depending on your preference, use either:GUI Tool:
Tools like DBeaver allow you to edit SQLite databases with a user-friendly interface.
CLI Tool:
Use the built-in SQLite CLI tool:
After opening the database, you can explore tables and locate the problematic configuration.
4. Locate the
stickyFieldPangolin stores the resource configurations in specific tables. To identify where the
stickyfield is located, you can run SQL queries. For example:See https://github.com/fosrl/pangolin/blob/main/server/routers/traefik/getTraefikConfig.ts
Once you've identified the sticky-related setting, update its value. From my database, I can confirm that the sticky value should be set to 0. If you're able to wait, I can test this process using an older version later and provide more details. Alternatively, you could reach out to the maintainer for further clarification if this is a supported way.
5. Replace the Original Database
After editing, stop Pangolin (if a short Downtime is feasable) to swap out the database file:
Copy the edited database back to its original location:
Finally, restart Pangolin to load the corrected data:
Important Notes
"sticky"field should no longer appear in the generated Traefik config, and the 404 error should be resolved.Summary
db.sqlite).sqlite3CLI and remove references to"sticky".docker compose.Let me know if you need help locating the database file or editing its contents!
@Antoine2tt commented on GitHub (Aug 8, 2025):
@marcschaeferger
Thanks for puting me on the right way !!
I had something with "sticky" option enable in my "Ressources"
I just delete it, restart and everything is working again !Thanks again
Have a good night !