Blame
669e20 | Ralph Thesen | 2025-07-09 21:25:16 | 1 | # Upgrade |
2 | ||||
3 | This pages describes how to upgrade An Otter Wiki to the latest version. The project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). |
|||
4 | ||||
5 | > [!IMPORTANT] |
|||
6 | > **Minor version upgrades, e.g. from 2.x to 2.y are effortless.** |
|||
7 | ||||
8 | If a new version does not work as expected, you can just roll back to the version you previously used. |
|||
9 | ||||
10 | Check the [CHANGELOG](https://github.com/redimp/otterwiki/blob/main/CHANGELOG.md) for information about fixes and new feature of recent releases. |
|||
11 | ||||
12 | ## docker cli |
|||
13 | ||||
14 | Make sure to collect the parameters you've used to create and run the container and start with cleaning up the existing container: |
|||
15 | ||||
16 | ```bash |
|||
17 | # stop the running container |
|||
18 | docker stop otterwiki |
|||
19 | # delete the container |
|||
20 | docker rm wiki |
|||
21 | ``` |
|||
22 | ||||
23 | Next step is fetching the new image via: |
|||
24 | ||||
25 | ```bash |
|||
26 | # pull the new image |
|||
27 | docker pull redimp/otterwiki:2 |
|||
28 | ``` |
|||
29 | ||||
30 | and recreate the container, make sure to use the parameters you have used before, e.g. |
|||
31 | ||||
32 | ```bash |
|||
33 | # create and run the new container using the latest image |
|||
34 | docker run --name otterwiki \ |
|||
35 | -p 8080:80 \ |
|||
36 | -v $PWD/app-data:/app-data \ |
|||
37 | redimp/otterwiki:2 |
|||
38 | ``` |
|||
39 | ||||
40 | ## docker compose |
|||
41 | ||||
42 | To upgrade An Otter Wiki deployed via `docker compose`, find the folder where your `docker-compose.yaml` or `compose.yaml` lives and run |
|||
43 | ||||
44 | ```bash |
|||
45 | docker compose pull && docker compose up -d |
|||
46 | ``` |
|||
47 | ||||
48 | This will pull the latest image and recreate the container if nececessary, so you can reduce the downtime to a minimum. |
|||
49 | ||||
50 | ## podman and podman-compose |
|||
51 | ||||
52 | Follow the process describe for `docker` and `docker compose` above. |
|||
53 | ||||
54 | ## Kubernetes |
|||
55 | ||||
56 | When you deployed An Otter Wiki using the official [helm chart](https://github.com/redimp/otterwiki/tree/main/helm) configure the application with `--set image.pullPolicy=Always` and let the deployment do a rollout restart e.g. |
|||
57 | ||||
58 | ```bash |
|||
59 | kubectl rollout restart deployment \ |
|||
60 | --namespace=NAMESPACE \ |
|||
61 | --selector=app.kubernetes.io/name=otterwiki |
|||
62 | ``` |
|||
63 | ||||
64 | ## source version |
|||
65 | ||||
66 | To check out the latest release run: |
|||
67 | ```bash |
|||
68 | # Update the repository information |
|||
69 | git remote update origin |
|||
70 | # Get the latest release tag |
|||
71 | LATEST_RELEASE=$(git describe --tags $(git rev-list --tags --max-count=1)) |
|||
72 | # Create a new branch named like the latest release version. |
|||
73 | git checkout -b $LATEST_RELEASE $LATEST_RELEASE |
|||
74 | ``` |
|||
75 | ||||
76 | When you installed An Otter Wiki in e.g. an virtual environemt `venv` update the venv using: |
|||
77 | ``` |
|||
78 | ./venv/bin/pip install -U . |
|||
79 | ``` |
|||
80 | ||||
81 | Restart the uwsgi server running the application, in case you are running it as an systemd service run a `systemctl restart otterwiki.service`. |