0.9.0
Compatibility
| Compatible with | All Buffer, Broker, Auth, and Host plugins |
| Product | Notiway Notify |
Installation
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
Infra__Plugins__Storage__Name | Yes | — | Set to Postgres |
Infra__Plugins__Storage__Version | Yes | — | Plugin version (e.g., 0.9.0) |
Infra__Plugins__Storage__Settings__ConnectionString | Yes | — | PostgreSQL connection string (e.g., Host=localhost;Port=5432;Database=notiway;Username=postgres;Password=secret) |
Infrastructure
- Running PostgreSQL instance — v13+ recommended.
- Tables are created automatically on startup using
CREATE TABLE IF NOT EXISTS. The plugin createsnotification_usersandpersisted_notificationstables with JSONB data columns and indexes on partition keys and TTL. No manual schema setup needed. - Database must exist — the plugin creates tables but not the database itself. Make sure the database specified in the connection string exists.
- Expired rows are cleaned up automatically — a background service deletes rows with expired TTL every hour.
Docker Compose
docker-compose.yml
services:
notiway:
image: notiway/notify:portable-0.5.0
ports:
- "5000:8080"
environment:
- Infra__Plugins__Storage__Name=Postgres
- Infra__Plugins__Storage__Version=0.9.0
- Infra__Plugins__Storage__Settings__ConnectionString=Host=postgres;Port=5432;Database=notiway;Username=postgres;Password=secret
postgres:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
- POSTGRES_DB=notiway
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=secret
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata: