version: "3" services: solaredge2mqtt: container_name: solaredge2mqtt image: ghcr.io/deroetzi/solaredge2mqtt:latest volumes: - ./config:/app/config environment: - TZ=Europe/Berlin restart: unless-stopped grafana: image: grafana/grafana:latest container_name: grafana environment: GF_RENDERING_SERVER_URL: http://renderer:8081/render GF_RENDERING_CALLBACK_URL: http://grafana:3000/ ports: - "3000:3000" volumes: - "grafana:/var/lib/grafana" - "grafana.ini:/etc/grafana/grafana.ini" user: "1000:1000" restart: always networks: default: renderer: image: grafana/grafana-image-renderer:latest container_name: renderer environment: RENDERING_MODE: reusable user: "1000:1000" restart: always networks: default: influxdb: image: influxdb:latest container_name: influxdb ports: - "8086:8086" volumes: - "./data:/var/lib/influxdb2" - "influxdb.conf:/etc/influxdb/influxdb.conf:ro" - ".influx_history:/.influx_history" restart: always user: "1000:1000" networks: default: # Configuration is now managed via YAML files in ./config/ # See config/configuration.yml.example and config/secrets.yml.example for reference # # For migration from environment variables or .env files: # The service will automatically create YAML files on first run if they don't exist