2019-03-28 09:46:30 -07:00
# Updating your instance
2020-01-15 00:12:24 -08:00
2020-07-08 20:15:51 -07:00
You should **always check the [release notes/changelog](https://git.pleroma.social/pleroma/pleroma/-/releases)** in case there are config deprecations, special update steps, etc.
2020-01-15 00:12:24 -08:00
Besides that, doing the following is generally enough:
## For OTP installations
```sh
# Download the new release
su pleroma -s $SHELL -lc "./bin/pleroma_ctl update"
# Migrate the database, you are advised to stop the instance before doing that
su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
```
## For from source installations (using git)
2019-04-01 06:23:32 -07:00
1. Go to the working directory of Pleroma (default is `/opt/pleroma` )
2022-05-12 09:02:58 -07:00
2. Run `git pull` [^1]. This pulls the latest changes from upstream.
2020-08-28 06:50:21 -07:00
3. Run `mix deps.get` [^1]. This pulls in any new dependencies.
2019-04-01 06:23:32 -07:00
4. Stop the Pleroma service.
2020-08-28 06:50:21 -07:00
5. Run `mix ecto.migrate` [^1] [^2]. This task performs database migrations, if there were any.
2019-04-01 06:26:46 -07:00
6. Start the Pleroma service.
2019-03-28 09:46:30 -07:00
2022-05-12 09:02:58 -07:00
[^1]: Depending on which install guide you followed (for example on Debian/Ubuntu), you want to run `git` and `mix` tasks as `pleroma` user by adding `sudo -Hu pleroma` before the command.
2020-08-28 06:50:21 -07:00
[^2]: Prefix with `MIX_ENV=prod` to run it using the production config file.