services: teslamate: image: teslamate/teslamate:latest restart: always depends_on: - database - mosquitto environment: - DATABASE_HOST=${DATABASE_HOST} - DATABASE_NAME=${DATABASE_NAME} - DATABASE_USER=${DATABASE_USER} - DATABASE_PASS=${DATABASE_PASS} - ENCRYPTION_KEY=${ENCRYPTION_KEY} - MQTT_HOST=${MQTT_HOST} - VIRTUAL_HOST=${TESLAMATE_HOST} - CHECK_ORIGIN=${CHECK_ORIGIN} - TZ=${TZ} ports: - "4000:4000" volumes: - ${DATA_PATH}/import:/opt/app/import cap_drop: - all database: image: postgres:17 restart: always environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} volumes: - ${DATA_PATH}/postgres:/var/lib/postgresql/data grafana: image: teslamate/grafana:latest restart: always depends_on: - database environment: - DATABASE_HOST=${DATABASE_HOST} - DATABASE_NAME=${DATABASE_NAME} - DATABASE_USER=${DATABASE_USER} - DATABASE_PASS=${DATABASE_PASS} - GF_SECURITY_ADMIN_USER=${GF_SECURITY_ADMIN_USER} - GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD} - GF_SERVER_ROOT_URL=${GF_SERVER_ROOT_URL} - GF_AUTH_ANONYMOUS_ENABLED=${GF_AUTH_ANONYMOUS_ENABLED} - GF_AUTH_BASIC_ENABLED=${GF_AUTH_BASIC_ENABLED} - GF_ANALYTICS_REPORTING_ENABLED=${GF_ANALYTICS_REPORTING_ENABLED} - GF_SECURITY_ALLOW_EMBEDDING=${GF_SECURITY_ALLOW_EMBEDDING} - GF_SECURITY_DISABLE_GRAVATAR=${GF_SECURITY_DISABLE_GRAVATAR} - GF_USERS_ALLOW_SIGN_UP=${GF_USERS_ALLOW_SIGN_UP} ports: - "3000:3000" volumes: - ${DATA_PATH}/grafana:/var/lib/grafana mosquitto: image: eclipse-mosquitto:2 restart: always ports: - "1883:1883" volumes: - ${DATA_PATH}/mosquitto/config:/mosquitto/config - ${DATA_PATH}/mosquitto/data:/mosquitto/data - ${DATA_PATH}/mosquitto/log:/mosquitto/log