tracksolid_timescale_grafan.../docs/CONNECTIONS.md

109 lines
2.8 KiB
Markdown
Raw Normal View History

# Connection Parameters Reference
**No secrets are stored here. All values come from `.env` at runtime.**
---
## SSH
```
Host: stage.rahamafresh.com
User: kianiadee
Key: ~/.ssh/id_ed25519
```
```bash
ssh -i ~/.ssh/id_ed25519 kianiadee@stage.rahamafresh.com
```
---
## Database
| Parameter | Value |
|---|---|
| Database | `tracksolid_db` |
| Host (internal) | `timescale_db` (Docker service name) |
| Port | `5432` |
| App user | `tracksolid_owner` |
| Read-only user | `dashboard_ro` (used by the staging bridge) · `grafana_ro` (legacy, retained but unused) |
| Superuser | `postgres` |
### `.env` variable names
```
POSTGRES_DB=tracksolid_db
POSTGRES_USER=...
POSTGRES_PASSWORD=...
DATABASE_URL=postgresql://tracksolid_owner:<password>@timescale_db:5432/tracksolid_db
```
### Run a query from host
```bash
DB=$(docker ps --filter name=timescale_db --format "{{.Names}}" | head -1)
docker exec $DB psql -U postgres -d tracksolid_db -c "SELECT COUNT(*) FROM tracksolid.devices;"
```
### Run a query file
```bash
docker exec -i $DB psql -U postgres -d tracksolid_db < migration.sql
```
---
## Tracksolid Pro API
| Parameter | Env var |
|---|---|
| App key | `TRACKSOLID_APP_KEY` |
| App secret | `TRACKSOLID_APP_SECRET` |
| User ID | `TRACKSOLID_USER_ID` |
| Target account | `TRACKSOLID_TARGET_ACCOUNT` (defaults to USER_ID) |
| Password MD5 | `TRACKSOLID_PWD_MD5` |
| Base URL | `TRACKSOLID_API_URL` (default: `https://eu-open.tracksolidpro.com/route/rest`) |
---
## Geocoder (tickets location geocoding)
Used by `tools/import_tickets.py --geocode-locations` / `--geocode-clusters` to turn ticket
`location_name`/`cluster` text into coordinates (`tickets.geo_locations` / `tickets.geo_clusters`).
A **keyed** provider is required — the public Nominatim server rate-limits bulk lookups.
| Parameter | Env var |
|---|---|
| Provider | `GEOCODER_PROVIDER` (`locationiq` (default) \| `opencage`) |
| API key | `GEOCODER_API_KEY` |
| Min interval | `GEOCODER_MIN_INTERVAL_S` (default `1.1` — throttle to provider TOS) |
---
## Container Name Resolution
Coolify appends a random suffix to all container names. Never hardcode. Always resolve:
```bash
# Pattern
docker ps --filter name=<service_name> --format "{{.Names}}" | head -1
# Examples
docker ps --filter name=timescale_db --format "{{.Names}}" | head -1
docker ps --filter name=ingest_worker --format "{{.Names}}" | head -1
docker ps --filter name=webhook_receiver --format "{{.Names}}" | head -1
docker ps --filter name=dashboard_api --format "{{.Names}}" | head -1
```
Current suffix (may change on redeploy): `bo3nov2ija7g8wn9b1g2paxs-19xxxxxxxxxx`
---
## Forgejo
```
Host: https://repo.rahamafresh.com
Repo: kianiadee/tracksolid_timescale_grafana_prod
Remote: https://repo.rahamafresh.com/kianiadee/tracksolid_timescale_grafana_prod.git
```