Reputation: 5631
I have the following 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:
I want to use Portainer and add the compose file as a Stack but I get the error that I can not use an additional environment.
What environment do I have to remove exactly? The variables from each service or
environment:
mosquitto:
Upvotes: 0
Views: 1464
Reputation: 21
Yes, you need to remove the line with environments.
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:
Similar to the official Teslamate guide
environment:
is used to declare variables for the specific container, so it has to be underneath the container.
Upvotes: 1