Reads data via Modbus RTU and translates the data for MQTT, Prometheus, influxDB and TimescaleDB.
5.3K
version: "3.9"
services:
18kPV_timescaledb:
container_name: 18kPV_timescaledb
image: buxtoncalvin/multiprotocolgateway:latest
restart: always
security_opt:
- apparmor:unconfined
environment:
- TZ=America/Los_Angeles
volumes:
- /home/multiprotocolgateway4/config:/app/config
- /home/multiprotocolgateway4/protocols:/app/protocols
- /home/multiprotocolgateway4/backlogs:/app/backlogs
- /home/multiprotocolgateway4/logs:/app/logs
ports:
- "1717:1717"
expose:
- "1717"
depends_on:
- timescaledb
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3
timescaledb:
image: timescale/timescaledb-ha:pg18
environment:
POSTGRES_PASSWORD: your-password
POSTGRES_USER: your-user-name
POSTGRES_DB: solar (or your database name)
ports:
# we change the access port here to allow for other postgres dbs
- "5431:5432"
volumes:
# note the ha version of timescaledb uses a different data storage path compared to the standard postgres database
# so the volume is mapped in the environment variable to account for any future changes to the path-- which as of 3/3/2026 doesn't work. So direct mapping to timescaledb-ha data folder: /home/postgres/pgdata
#- /home/timescaledb:/var/lib/postgresql/data
# current data path in timescale.
- /home/timescaledb:/home/postgres/pgdata
grafana:
container_name: grafana
image: grafana/grafana:latest
restart: always
security_opt:
- apparmor:unconfined
ports:
- 3000:3000
env_file:
- '/home/grafana/env.grafana'
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_SECURITY_ALLOW_EMBEDDING=true
- GF_DATABASE_USER=your-user-name
- GF_DATABASE_PASSWORD=your-password
user: '1000'
depends_on:
- timescaledb
volumes:
- /home/grafana:/var/lib/grafana
postgres_admin:
image: dpage/pgadmin4:latest
container_name: pgadmin
restart: always
security_opt:
- apparmor:unconfined
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_USER: your-user-name
PGADMIN_DEFAULT_PASSWORD: your-password
PGADMIN_DISABLE_POSTFIX: true
volumes:
- /home/pgadmin:/var/lib/pgadmin
ports:
# set the port to 8181 to avoid typical port 80 conflicts
- "8181:80"
depends_on:
- timescaledb
Content type
Image
Digest
sha256:a15ec58dd…
Size
190 MB
Last updated
1 day ago
docker pull buxtoncalvin/multiprotocolgateway