version: '3.8' services: timescaledb: image: timescale/timescaledb:latest-pg16 restart: always environment: POSTGRES_USER: ${PG_USER} POSTGRES_PASSWORD: ${PG_PASSWORD} POSTGRES_DB: ${PG_DB} ports: - "5432:5432" networks: - internal volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - opendtu_db:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${PG_USER}"] interval: 5s timeout: 5s retries: 20 opendtu-logger: image: git.hollander.online/energy/opendtu-logger:latest restart: always environment: DB_URL: ${DB_URL} OPENDTU_ADDRESS: ${OPENDTU_ADDRESS} OPENDTU_AUTH: ${OPENDTU_AUTH} OPENDTU_USERNAME: ${OPENDTU_USERNAME} OPENDTU_PASSWORD: ${OPENDTU_PASSWORD} TIMESCALEDB_ENABLED: ${TIMESCALEDB_ENABLED} TZ: ${TZ} LOG_LEVEL: ${LOG_LEVEL} depends_on: timescaledb: condition: service_healthy networks: - internal volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro grafana: image: grafana/grafana:latest container_name: grafana restart: always user: "1000:1000" ports: - "3000:3000" networks: - internal volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - opendtu_logger_grafana:/var/lib/grafana:rw environment: GF_DATAPROXY_ROW_LIMIT: 5000000 # GF_LOG_FILTERS: rendering:debug healthcheck: test: ["CMD-SHELL", "curl -f localhost:3000/api/health && echo 'ready'"] interval: 10s retries: 30 networks: internal: attachable: true volumes: opendtu_logger_grafana: opendtu_db: