Skip to content

Latest commit

 

History

History
114 lines (82 loc) · 3.24 KB

upgrading.mdx

File metadata and controls

114 lines (82 loc) · 3.24 KB
id title sidebar_label
upgrading
Upgrading to a new version
Upgrading to a new version

:::info Check out the release notes before upgrading! :::

:::note Create a backup before updating. If you are using docker-compose, you are using Docker Compose v1, which has been deprecated. Docker Compose commands refer to Docker Compose v2. Consider upgrading your docker setup, see Migrate to Compose V2 :::

import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem";

<Tabs defaultValue="docker" values={[ { label: 'Docker', value: 'docker', }, { label: 'Manual install (Debian)', value: 'manual_debian', }, { label: 'Manual install (FreeBSD)', value: 'manual_freebsd', }, ]}>

Within the directory where the YML file is located, pull the new images:

docker compose pull

and restart the stack with docker compose up. To run the containers in the background add the -d flag:

docker compose up -d
  1. Pull the new changes from the git repository, checkout the new version and then build the new release:

    git pull
    git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
    
    mix deps.get --only prod
    npm install --prefix ./assets && npm run deploy --prefix ./assets
    
    rm -rf _build
    MIX_ENV=prod mix do phx.digest, release --overwrite
  2. Most upgrades requires to run new database migrations. If so continue with the following command:

     _build/prod/rel/teslamate/bin/teslamate eval "TeslaMate.Release.migrate"

    Note, you may need to include environment variables when running this step:

     DATABASE_USER=teslamate DATABASE_PASS=super_secret_password DATABASE_NAME=teslamate DATABASE_HOST=localhost MQTT_HOST=your_MQTT_host(HomeAssistant in my case) _build/prod/rel/teslamate/bin/teslamate eval "TeslaMate.Release.migrate"
  3. Finally, re-import the Grafana dashboards:

    LOGIN="user:pass" ./grafana/dashboards.sh restore
  1. Pull the new changes from the git repository, checkout the new version and then build the new release:

    bash
    
    git pull
    git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
    
    mix deps.get --only prod
    npm install --prefix ./assets && npm run deploy --prefix ./assets
    
    rm -rf _build
    export MIX_ENV=prod
    mix do phx.digest, release --overwrite
  2. Most upgrades requires to run new database migrations. If so continue with the following command:

     _build/prod/rel/teslamate/bin/teslamate eval "TeslaMate.Release.migrate"

    Note: you may need to include environment variables as part of this step:

     DATABASE_USER=teslamate DATABASE_PASS=super_secret_password DATABASE_NAME=teslamate DATABASE_HOST=localhost MQTT_HOST=your_MQTT_host(HomeAssistant in my case) _build/prod/rel/teslamate/bin/teslamate eval "TeslaMate.Release.migrate"
  3. Finally, re-import the Grafana dashboards:

    bash
    export LOGIN="user:pass"
    ./grafana/dashboards.sh restore