I changed the accuracy and it got better.
There is still a major delay of couple of minutes from "location data is received by traccar server" to "showing it on the traccar map"
I changed the accuracy and it got better.
There is still a major delay of couple of minutes from "location data is received by traccar server" to "showing it on the traccar map"
Thanks.
Couple of things I figured out:
Remaining issue: devices are not updating on the map in traccar manager app. They are showing as online with the most recent update, but the location showing on the app doesn't match.
Could it be wrong timezone detection? The position on the map seems to be 2 hours delayed. Cloudron server is set to UTC
Sanitised logs are below, I can see recent updates but not an updated location.
This is the server:
Jun 22 16:02:07 2025-06-22 14:02:07 INFO: [Tcbb90350: osmand < 192.168.1.100] POST / HTTP/1.1\r\nHost: osmand.example.com\r\nX-Real-IP: 203.0.113.45\r\nX-Forwarded-For: 203.0.113.45\r\nX-Forwarded-Host: osmand.example.com\r\nX-Forwarded-Port: 443\r\nX-Forwarded-Proto: https\r\nX-Forwarded-Ssl: on\r\nConnection: close\r\nContent-Length: 433\r\ncontent-type: application/json; charset=utf-8\r\naccept-encoding: gzip\r\nuser-agent: okhttp/3.14.9\r\n\r\n{"location":{"timestamp":"2025-06-22T13:49:31.843Z","coords":{"latitude":40.7128,"longitude":-74.0060,"accuracy":48,"speed":0,"heading":-1,"altitude":170},"is_moving":false,"odometer":2389,"battery":{"level":0.52,"is_charging":false},"activity":{"type":"still"},"extras":{},"_":"&id=12345678&lat=40.7128&lon=-74.0060×tamp=2025-06-22T13:49:31.843Z&","heartbeat":true},"device_id":"12345678"}
Jun 22 16:02:07 2025-06-22 14:02:07 INFO: [Tcbb90350: osmand > 192.168.1.100] HTTP/1.1 200 OK\r\ncontent-length: 0\r\n\r\n
Jun 22 16:02:07 2025-06-22 14:02:07 INFO: [Tcbb90350] connected
Jun 22 16:02:07 2025-06-22 14:02:07 INFO: [Tcbb90350] disconnected
Jun 22 16:02:07 2025-06-22 14:02:07 INFO: [Tcbb90350] id: 12345678, time: 2025-06-22 13:49:31, lat: 40.71280, lon: -74.00600, course: 0.0, accuracy: 48.0
Jun 22 16:04:08 2025-06-22 14:04:08 INFO: [T792e8758: osmand < 192.168.1.100] POST / HTTP/1.1\r\nHost: osmand.example.com\r\nX-Real-IP: 203.0.113.45\r\nX-Forwarded-For: 203.0.113.45\r\nX-Forwarded-Host: osmand.example.com\r\nX-Forwarded-Port: 443\r\nX-Forwarded-Proto: https\r\nX-Forwarded-Ssl: on\r\nConnection: close\r\nContent-Length: 433\r\ncontent-type: application/json; charset=utf-8\r\naccept-encoding: gzip\r\nuser-agent: okhttp/3.14.9\r\n\r\n{"location":{"timestamp":"2025-06-22T13:49:31.843Z","coords":{"latitude":40.7128,"longitude":-74.0060,"accuracy":48,"speed":0,"heading":-1,"altitude":170},"is_moving":false,"odometer":2389,"battery":{"level":0.51,"is_charging":false},"activity":{"type":"still"},"extras":{},"_":"&id=12345678&lat=40.7128&lon=-74.0060×tamp=2025-06-22T13:49:31.843Z&","heartbeat":true},"device_id":"12345678"}
Jun 22 16:04:08 2025-06-22 14:04:08 INFO: [T792e8758: osmand > 192.168.1.100] HTTP/1.1 200 OK\r\ncontent-length: 0\r\n\r\n
This is from the client traccar:
╔═════════════════════════════════════════════
║ TSLocationManager3.6.8 (443)
╠═════════════════════════════════════════════
╟─ Google Pixel 8 Pro @ 15 (flutter)
{
"activityRecognitionInterval": 10000,
"allowIdenticalLocations": false,
"authorization": {},
"autoSync": false,
"autoSyncThreshold": 0,
"backgroundPermissionRationale": {
"title": "Allow {applicationName} to access this device's location in the background",
"message": "For reliable tracking, please enable {backgroundPermissionOptionLabel} location access.",
"positiveAction": "Change to {backgroundPermissionOptionLabel}",
"negativeAction": "Cancel"
},
"batchSync": false,
"configUrl": "",
"crashDetector": {
"enabled": false,
"accelerometerThresholdHigh": 20,
"accelerometerThresholdLow": 4.5,
"gyroscopeThresholdHigh": 20,
"gyroscopeThresholdLow": 4.5
},
"debug": false,
"deferTime": 0,
"desiredAccuracy": 10,
"desiredOdometerAccuracy": 100,
"disableAutoSyncOnCellular": false,
"disableElasticity": true,
"disableLocationAuthorizationAlert": false,
"disableMotionActivityUpdates": false,
"disableProviderChangeRecord": false,
"disableStopDetection": false,
"distanceFilter": 15,
"elasticityMultiplier": 1,
"enableHeadless": true,
"enableTimestampMeta": false,
"extras": {},
"fastestLocationUpdateInterval": 10000,
"foregroundService": true,
"geofenceInitialTriggerEntry": true,
"geofenceModeHighAccuracy": false,
"geofenceProximityRadius": 1000,
"geofenceTemplate": "",
"headers": {},
"headlessJobService": "com.transistorsoft.flutter.backgroundgeolocation.HeadlessTask",
"heartbeatInterval": 120,
"httpRootProperty": "location",
"httpTimeout": 60000,
"isMoving": false,
"locationAuthorizationRequest": "Always",
"locationTemplate": "{\"timestamp\": \"<%= timestamp %>\",\"coords\": {\"latitude\": <%= latitude %>,\"longitude\": <%= longitude %>,\"accuracy\": <%= accuracy %>,\"speed\": <%= speed %>,\"heading\": <%= heading %>,\"altitude\": <%= altitude %>},\"is_moving\": <%= is_moving %>,\"odometer\": <%= odometer %>,\"event\": \"<%= event %>\",\"battery\": {\"level\": <%= battery.level %>,\"is_charging\": <%= battery.is_charging %>},\"activity\": {\"type\": \"<%= activity.type %>\"},\"extras\": {},\"_\": \"&id=[DEVICE_ID]&lat=<%= latitude %>&lon=<%= longitude %>×tamp=<%= timestamp %>&\"}",
"locationTimeout": 60,
"locationUpdateInterval": 300000,
"locationsOrderDirection": "ASC",
"logLevel": 5,
"logMaxDays": 1,
"maxBatchSize": -1,
"maxDaysToPersist": 1,
"maxMonitoredGeofences": 97,
"maxRecordsToPersist": -1,
"method": "POST",
"minimumActivityRecognitionConfidence": 75,
"motionTriggerDelay": 0,
"notification": {
"layout": "",
"title": "",
"text": "Location Service activated",
"color": "",
"channelName": "TSLocationManager",
"channelId": "",
"smallIcon": "",
"largeIcon": "",
"priority": -1,
"sticky": false,
"strings": {},
"actions": []
},
"params": {
"device_id": "[DEVICE_ID]"
},
"persist": true,
"persistMode": 2,
"schedule": [],
"scheduleUseAlarmManager": false,
"speedJumpFilter": 300,
"startOnBoot": true,
"stationaryRadius": 25,
"stopAfterElapsedMinutes": 0,
"stopOnStationary": false,
"stopOnTerminate": false,
"stopTimeout": 5,
"triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking",
"url": "[REDACTED_URL]",
"useSignificantChangesOnly": false,
"enabled": true,
"schedulerEnabled": false,
"trackingMode": 1,
"odometer": 2963.11865234375,
"isFirstBoot": false,
"didLaunchInBackground": false,
"didDeviceReboot": false
}
╔═════════════════════════════════════════════
║ DEVICE SENSORS
╠═════════════════════════════════════════════
╟─ ✅ ACCELEROMETER: {Sensor name="ICM45631 Accelerometer", vendor="Invensense", version=1, type=1, maxRange=156.9064, resolution=5.985504E-4, power=0.001, minDelay=5000}
╟─ ✅ GYROSCOPE: {Sensor name="ICM45631 Gyroscope", vendor="Invensense", version=1, type=4, maxRange=34.906586, resolution=1.3323124E-4, power=0.001, minDelay=5000}
╟─ ✅ MAGNETOMETER: {Sensor name="Fusion Mag", vendor="Google", version=1, type=2, maxRange=3198.1567, resolution=0.0976, power=0.001, minDelay=10000}
╟─ ✅ SIGNIFICANT_MOTION: {Sensor name="Significant Motion (wake-up)", vendor="Google", version=1, type=17, maxRange=1.0, resolution=1.0, power=0.001, minDelay=-1}
╚═════════════════════════════════════════════
Thanks for the hint. I actually did that, but still not working: I still see all devices as offline.
And your assumption was correct regarding the browser: For a chromium browser, I got the Doctype error also for a completely fresh installation without any devices. In e.g. Edge I didn't face this issue
Thank you for the response and test.
I changed the identifier in the client and added it on the server. Also removed the device with the old identifier. The error is gone. Really surprising for me.
Still having the issue that no device is showing. Tried few things, like changing the port, domain, and checked the firewall.
For the sake of this threat, can be closed I guess, since it seems to be a conffig error.
It depends a bit who you are and what you are trying to achieve with it. For businesses, Mailjet might be an option. A validation of a business is required, but for very small sizes they offer a free plan.
Has anyone experienced similar issues or know what might be causing this API response mismatch where the maps interface receives HTML instead of JSON data?
When I open the maps tab of the web interface of Traccar, I get a red error toast:
Unexpected token '<', "<!DOCTYPE "... is not valid JSON
A device is sending location data via the Traccar app.
Configuration:
https://osmand.mydomain.com:5055
Timeline:
The system was working until approximately 5 days ago when it stopped functioning. The issue appeared around June 13th, one day before the June 14th, 2025 Cloudron release (Changelog: "fix OpenID login from mobile apps"). Could this release be related to the problem?
Log entries:
2025-06-18 08:38:11 INFO: [Tbf925eb7: osmand < 173.244.42.173] GET / HTTP/1.1\r\nHost: nottheend.info\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\r\nAccept-Encoding: gzip\r\n\r\n
Jun 18 10:38:11 2025-06-18 08:38:11 INFO: [Tbf925eb7: osmand > 173.244.42.173] HTTP/1.1 400 Bad Request\r\ncontent-length: 0\r\n\r\n
Jun 18 10:38:11 2025-06-18 08:38:11 INFO: [Tbf925eb7] connected
Jun 18 10:38:12 2025-06-18 08:38:12 INFO: [Tbf925eb7: osmand < 173.244.42.173] GET /favicon.ico HTTP/1.1\r\nHost: mydomain.com\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\r\nAccept-Encoding: gzip\r\n\r\n
Jun 18 10:38:12 2025-06-18 08:38:12 INFO: [Tbf925eb7: osmand > 173.244.42.173] HTTP/1.1 400 Bad Request\r\ncontent-length: 0\r\n\r\n
Jun 18 10:38:16 2025-06-18 08:38:16 INFO: [Tbf925eb7] disconnected
The error suggests the maps interface is receiving HTML (DOCTYPE declaration) when expecting JSON data.
Main Page: https://github.com/icereed/paperless-gpt
Git: https://github.com/icereed/paperless-gpt
Licence: MIT
Docker: Yes
Demo: demo.mp4 on github-Page
Summary:
paperless-gpt seamlessly pairs with paperless-ngx to automatically generate AI-powered document titles, tags, and correspondents. It leverages powerful LLMs (OpenAI or Ollama) to supercharge OCR accuracy, making even low-quality scans searchable and organized. It supports multiple OCR backends including Google Document AI, Azure Document Intelligence, and a self-hosted Docling server. Integrated into a simple web UI, it offers both automated and manual review modes.
Notes: enhance to post-processing of invoices or receipts
Would be an amazing productivity boost if easily deployable via Cloudron alongside paperless-ngx
Alternative to / Libhunt link: https://selfhosted.libhunt.com/paperless-gpt
Screenshots: -
Hopefully it will not appear with any storage anymore when this is implemented:
(9.0) Backup integrity - store size and checksum of backups. Also provide a way to "verify" backup integrity in the remote.
Mentioned in
what's coming in cloudron 9
Thanks! For now, rclone
seems to be most promising.
Syncthing doesn't fit my needs, because it has no S3 API, mentioning it for future reference.
And btw, rclone GUI is on the wishlist.
There is a suggestion to use rsync
with a cron job inside of cloudron
Hi Cloudron community,
I'm running Nextcloud on my Cloudron instance with external S3 object storage for the files. While Cloudron handles the Nextcloud app backups nicely, I'm looking for the best approach to ensure my S3 storage is also backed up in sync with these Cloudron backups.
Ideally, I want a solution that:
Has anyone solved this problem already? What tools or scripts are you using to keep these backups synchronized?
Thanks in advance for any suggestions!
If an app is not ready yet, should I delete it from the wishlist? Just added journey.cloud to the list, but discovered they are still working on it
@timconsidine Got it. Should I close this thread until then?
https://journey.cloud offers a feature rich journalling esp. for personal experiences.
There seem to be a Docker file already available:
https://github.com/Journey-Cloud/self-hosted-boilerplate
Yes, I got the error mentioned before on a newly created backup without encryption. The tarball was around 13 GB.
I was only able to restore backups older than 1 month for the nextcloud app. For all other 12+ apps restoring did work like a charme for the most recent backup (younger than 1 month).
It gives me the impression that the CIFS with Hetzner Storagebox is a risky choice.
Therefore, a hint in the docs might be saving some lives of other folks.
I would like to offer 2 additional feedbacks beyond the CIFS issue and the docs:
And thanks a lot for the support @girish and @nebulon for pointing me in the right direction! I resolved it by choosing a different cloud provider and different storage protocol. I used S3 now. Backing up and restoring worked with encryption completely fine!
Thank you!
I just found this hint in the docs:
Hetzner Storage Box
We recommend using SSHFS for Hetzner Storage Box since it is much faster and efficient storage wise compared to CIFS. When using Hetzner Storage Box with CIFS, the Remote Directory is /backup for the main account. For sub accounts, the Remote Directory is /subaccount.
Probably worth expanding to hint that there seem to be some unrealiable component or interaction with this way the storage box is used by Cloudron.
The issue in this thread is related to CIFS with Hetzner Storage box
Thanks, I am getting a different error:
An error occurred during the import operation: External Error: tarExtract pipeline error: invalid stored block lengths
Is there any limitation in terms of CIFS?
Thanks. Luckily I discovered that I didn't delete the old server yet. I spinned it up again and took another backup - the new backup seems to be corrupt again
Not sure what I am missing
Thanks, I was not aware.
When I try to decrypt, it doesn't work, although I use the same password like for the other apps:
Error: Could not decrypt: Invalid password or tampered file (mac mismatch)
I am confused now, because I am not aware of using another password for encrypting a single app (nextcloud) compared to other apps used on the same Cloudron instance.
Is there any other idea?