【问题标题】:Portainer: Use environment from docker-composePortainer:使用来自 docker-compose 的环境
【发布时间】:2022-11-08 22:29:14
【问题描述】:

我有以下 docker-compose.yml。

version: "3"

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - ENCRYPTION_KEY=asdf_key
      - DATABASE_USER=asdf_user
      - DATABASE_PASS=asdf_pass
      - DATABASE_NAME=asdf_name
      - DATABASE_HOST=asdf_host
      - MQTT_HOST=mosquitto
    ports:
      - 4000:4000
    volumes:
      - ./import:/opt/app/import
    cap_drop:
      - all

  database:
    image: postgres:13
    restart: always
    environment:
      - POSTGRES_USER=asdf_user
      - POSTGRES_PASSWORD=asdf_pass
      - POSTGRES_DB=asdf_db
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=asdf_user
      - DATABASE_PASS=asdf_pass
      - DATABASE_NAME=asdf_name
      - DATABASE_HOST=asdf_host
    ports:
      - 3000:3000
    volumes:
      - teslamate-grafana-data:/var/lib/grafana

environment:
  mosquitto:
    image: eclipse-mosquitto:2
    restart: always
    command: mosquitto -c /mosquitto-no-auth.conf
    # ports:
    #   - 1883:1883
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

  teslamateapi:
    image: tobiasehlert/teslamateapi:latest
    restart: always
    depends_on:
      - database
    environment:
      - ENCRYPTION_KEY=asdf_key
      - DATABASE_USER=asdf_user
      - DATABASE_PASS=asdf_pass
      - DATABASE_NAME=asdf_name
      - DATABASE_HOST=asdf_host
      - MQTT_HOST=mosquitto
      - TZ=Europe/Berlin
    ports:
      - 8080:8080

  teslamateagile:
    image: mattjeanes/teslamateagile:latest
    restart: always
    environment:
      - DATABASE_USER=asdf_user
      - DATABASE_PASS=asdf_pass
      - DATABASE_NAME=asdf_name
      - DATABASE_HOST=asdf_host
      - TeslaMate__UpdateIntervalSeconds=300
      - TeslaMate__GeofenceId=1
      - TeslaMate__EnergyProvider=FixedPrice
      - FixedPrice__TimeZone=Europe/Berlin
      - FixedPrice__Prices__0=00:00-24:00=0.23

volumes:
  teslamate-db:
  teslamate-grafana-data:
  mosquitto-conf:
  mosquitto-data:

我想使用 Portainer 并将撰写文件添加为堆栈,但我收到错误 我不能使用额外的环境。

我必须删除什么环境?每个服务的变量或

environment:
      mosquitto:

【问题讨论】:

    标签: docker portainer teslamate


    【解决方案1】:

    是的,您需要删除与环境的行。

    
    version: "3"
    
    services:
      teslamate:
        image: teslamate/teslamate:latest
        restart: always
        environment:
          - ENCRYPTION_KEY=asdf_key
          - DATABASE_USER=asdf_user
          - DATABASE_PASS=asdf_pass
          - DATABASE_NAME=asdf_name
          - DATABASE_HOST=asdf_host
          - MQTT_HOST=mosquitto
        ports:
          - 4000:4000
        volumes:
          - ./import:/opt/app/import
        cap_drop:
          - all
    
      database:
        image: postgres:13
        restart: always
        environment:
          - POSTGRES_USER=asdf_user
          - POSTGRES_PASSWORD=asdf_pass
          - POSTGRES_DB=asdf_db
        volumes:
          - teslamate-db:/var/lib/postgresql/data
    
      grafana:
        image: teslamate/grafana:latest
        restart: always
        environment:
          - DATABASE_USER=asdf_user
          - DATABASE_PASS=asdf_pass
          - DATABASE_NAME=asdf_name
          - DATABASE_HOST=asdf_host
        ports:
          - 3000:3000
        volumes:
          - teslamate-grafana-data:/var/lib/grafana
    
      mosquitto:
        image: eclipse-mosquitto:2
        restart: always
        command: mosquitto -c /mosquitto-no-auth.conf
        # ports:
        #   - 1883:1883
        volumes:
          - mosquitto-conf:/mosquitto/config
          - mosquitto-data:/mosquitto/data
    
      teslamateapi:
        image: tobiasehlert/teslamateapi:latest
        restart: always
        depends_on:
          - database
        environment:
          - ENCRYPTION_KEY=asdf_key
          - DATABASE_USER=asdf_user
          - DATABASE_PASS=asdf_pass
          - DATABASE_NAME=asdf_name
          - DATABASE_HOST=asdf_host
          - MQTT_HOST=mosquitto
          - TZ=Europe/Berlin
        ports:
          - 8080:8080
    
      teslamateagile:
        image: mattjeanes/teslamateagile:latest
        restart: always
        environment:
          - DATABASE_USER=asdf_user
          - DATABASE_PASS=asdf_pass
          - DATABASE_NAME=asdf_name
          - DATABASE_HOST=asdf_host
          - TeslaMate__UpdateIntervalSeconds=300
          - TeslaMate__GeofenceId=1
          - TeslaMate__EnergyProvider=FixedPrice
          - FixedPrice__TimeZone=Europe/Berlin
          - FixedPrice__Prices__0=00:00-24:00=0.23
    
    volumes:
      teslamate-db:
      teslamate-grafana-data:
      mosquitto-conf:
      mosquitto-data:
    
    

    类似于the official Teslamate guide

    environment: 用于声明特定容器的变量,因此它必须位于容器下方。

    【讨论】:

      【解决方案2】:

      没有答案,但好奇 OP 是否解决了这个问题?我正在尝试做同样的事情,并通过 Home Assistant 的搬运工设置 TeslaMate“集成”。可以使用一些提示/技巧。谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-07
        • 2015-09-21
        • 2019-10-06
        • 1970-01-01
        • 2019-07-26
        • 2015-06-17
        • 1970-01-01
        • 2021-10-25
        相关资源
        最近更新 更多