xbgmsharp dcf4eaca9b Add migration 202505
- Update metadata table, add IP address column, remove id column, update vessel_id default
- Add metadata_ext, new table to store vessel extended metadata from user
- Cleanup trigger on api schema, Move trigger on public schema
- Create trigger to update polar_updated_at and image_updated_at accordingly
- Create update_metadata_ext_decode_base64_image_trigger_fn to decode base64 image
- Refactor metadata_upsert_trigger_fn with the new metadata schema, remove id.
- Update metadata_grafana_trigger_fn with the new metadata schema, remove id.
- Create api.vessel_image to fetch vessel image
- Create api.vessel_extended_fn() to expose extended vessel details
- Update api.vessel_details_fn to use configuration metadata
- Update api.vessel_fn to use metadata_ext
- Update public.stay_active_geojson_fn function to produce a GeoJSON with the last position and stay details
- Update monitoring view to support live moorage in GeoJSON
- Update public.overpass_py_fn to check for seamark with name
- Update api.export_logbooks_geojson_linestring_trips_fn, add extra, _to_moorage_id, _from_moorage_id metadata
- Update api.monitoring_live, add live tracking view, Add support 6h outside barometer
- Update public.logbook_update_metrics_short_fn, aggregate more metrics and use user configuration
- Update public.logbook_update_metrics_fn, aggregate more metrics and use user configuration
- Update public.logbook_update_metrics_timebucket_fn, aggregate more metrics and use user configuration
- Update public.process_logbook_queue_fn to use new mobilitydb metrics
- Remove unnecessary functions
- Add missing comments on function
- Update public.cron_process_monitor_online_fn, refactor of metadata
- Update public.cron_process_monitor_offline_fn, Refactor metadata
- Update public.cron_process_grafana_fn, Refactor metadata
- Update permissions and RLS
- Update cron_process_skplugin_upgrade_fn, update check for signalk plugin version
2025-05-19 23:19:04 +02:00
2023-07-09 20:15:12 +02:00
2025-05-17 17:20:46 +02:00
2025-05-19 23:19:04 +02:00
2023-07-10 17:02:35 +02:00
2024-11-24 16:43:08 +01:00
2023-07-05 08:58:13 +00:00
2022-08-24 21:07:00 +00:00
2025-05-11 14:27:03 +02:00
2025-05-11 14:26:49 +02:00
2023-08-14 17:36:38 +02:00


Logo

PostgSail

PostgSail is an open-source alternative to traditional vessel data management!

Explore the docs »

View Demo . Report Bug . Request Feature . Website . Sponsors . Discord

release License issues - postgsail PRs Welcome Contributors

Test services db, api Test services db, api, web Test services db, grafana

signalk-postgsail: GitHub Release

postgsail-frontend: GitHub Release

postgsail-telegram-bot: GitHub Release

OpenSSF Best Practices

Table Of Contents

About The Project

https://github.com/xbgmsharp/signalk-postgsail/assets/1498985/b2669c39-11ad-4a50-9f91-9397f9057ee8

Effortless cloud based solution for storing and sharing your SignalK data. Allow you to effortlessly log your sails and monitor your boat with historical data.

Here's how:

It is all about SQL, object-relational, time-series, spatial databases with a bit of python.

PostgSail is an open-source alternative to traditional vessel data management. It is based on a well known open-source technology stack, Signalk, PostgreSQL, TimescaleDB, PostGIS, PostgREST. It does perfectly integrate with standard monitoring tool stack like Grafana.

To understand the why and how, you might want to read Why.md

Features

  • Automatically log your voyages without manually starting or stopping a trip.
  • Automatically capture the details of your voyages (boat speed, heading, wind speed, etc).
  • Timelapse video your trips, with or without time control.
  • Add custom notes to your logs.
  • Export to CSV, GPX, GeoJSON, KML and download your logs.
  • Export your logs as image (PNG) or video (MP4).
  • Aggregate your trip statistics: Longest voyage, time spent at anchorages, home ports etc.
  • See your moorages on a global map, with incoming and outgoing voyages from each trip.
  • Monitor your boat (position, depth, wind, temperature, battery charge status, etc.) remotely.
  • History: view trends.
  • Alert monitoring: get notification on low voltage or low fuel remotely.
  • Notification via email or PushOver, Telegram.
  • Offline mode.
  • Low Bandwidth mode.
  • Awesome statistics and graphs.
  • Create and manage your own dashboards.
  • Windy PWS (Personal Weather Station).
  • Engine Hours Logger.
  • Polar performance.
  • Anything missing? just ask!

Cloud-hosted PostgSail

Remove the hassle of running PostgSail yourself. Here you can skip the technical setup, the maintenance work and server costs by getting PostgSail on our reliable and secure PostgSail Cloud. Register and try for free at iot.openplotter.cloud.

PostgSail Cloud is Open Source and free for personal use with a single vessel. If wish to manage multiple boats contact us.

PostgSail is free to use, but is not free to make or host. The stability and accuracy of PostgSail depends on its volunteers and donations from its users. Please consider making an annual recurring gift to PostgSail.

On-Premise

Self host postgSail where you want and how you want. There are no restrictions, youre in full control. Install Guide

PostgSail is free to use, but is not free to make or host. The stability and accuracy of PostgSail depends on its volunteers and donations from its users. Please consider making an annual recurring gift to PostgSail.

Roadmap

See the open issues for a list of proposed features (and known issues).

Join the community, Get support and exchange on Discord. Missing a feature? just ask!

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  • If you have suggestions for features, feel free to open an issue to discuss it, or directly create a pull request with necessary changes.
  • Please make sure you check your spelling and grammar.
  • Create individual PR for each suggestion.
  • Please also read through the Code Of Conduct before posting your first idea as well.

Creating A Pull Request

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache License Version 2.0. See LICENSE for more information.

Acknowledgements

An out of the box IoT platform using Docker (could be extend to K3 or K8) with the following software:

Languages
PLpgSQL 89.2%
JavaScript 9.9%
Shell 0.9%