Browse Source

chore(Wiki): Added upgrading documentation

Owen Diffey 2 years ago
parent
commit
4ca379938a
3 changed files with 47 additions and 0 deletions
  1. 2 0
      .wiki/Installation.md
  2. 44 0
      .wiki/Upgrading.md
  3. 1 0
      README.md

+ 2 - 0
.wiki/Installation.md

@@ -1,6 +1,8 @@
 # Installation
 Musare can be installed with Docker (recommended) or without, guides for both installations can be found below.
 
+To update an existing installation please see [Upgrading](./Upgrading.md).
+
 ## Docker
 
 ### Dependencies

+ 44 - 0
.wiki/Upgrading.md

@@ -0,0 +1,44 @@
+# Upgrading
+Musare upgrade process.
+
+To install a new instance please see [Installation](./Installation.md).
+
+## Docker
+
+### Instructions
+1. Make a backup! `./musare.sh backup`
+2. Execute `./musare.sh update`. If an update requires any configuration changes or database migrations, you will be notified.
+    - To update configuration compare example configs against your own and add/update/remove any properties as needed. For more information on properties see [Configuration](./Configuration.md). Frontend and backend configuration updates always update the `configVersion` property.
+        - Backend, compare `backend/config/template.json` against `backend/config/default.json`.
+        - Frontend, compare `frontend/dist/config/template.json` against `frontend/dist/config/default.json`.
+        - Environment, compare `.env.example` against `.env`.
+    - To migrate database;
+        - `./musare.sh stop backend`
+        - Set `migration` to `true` in  `backend/config/default.json`
+        - `./musare.sh start backend`.
+        - Follow backend logs and await migration completion notice `./musare.sh attach backend`.
+        - `./musare.sh stop backend`
+        - Set `migration` to `false` in  `backend/config/default.json`
+        - `./musare.sh start backend`.
+
+---
+
+## Non-Docker
+
+### Instructions
+1. Make a backup!
+2. Stop all services
+3. `git pull`
+4. `cd frontend && npm install`
+5. `cd ../backend && npm install`
+6. Compare example configs against your own and add/update/remove any properties as needed. For more information on properties see [Configuration](./Configuration.md). Frontend and backend configuration updates always update the `configVersion` property.
+    - Backend, compare `backend/config/template.json` against `backend/config/default.json`.
+    - Frontend, compare `frontend/dist/config/template.json` against `frontend/dist/config/default.json`.
+7. Start MongoDB and Redis services.
+8. Run database migration;
+    - Set `migration` to `true` in  `backend/config/default.json`
+    - Start backend service.
+    - Follow backend logs and await migration completion notice.
+    - Stop backend service.
+    - Set `migration` to `false` in  `backend/config/default.json`
+9. Start backend and frontend services.

+ 1 - 0
README.md

@@ -10,6 +10,7 @@ A production demonstration instance of Musare can be found at [demo.musare.com](
 
 ## Documentation
 - [Installation](./.wiki/Installation.md)
+- [Upgrading](./.wiki/Upgrading.md)
 - [Configuration](./.wiki/Configuration.md)
 - [Utility Script](./.wiki/Utility_Script.md)
 - [Backend Commands](./.wiki/Backend_Commands.md)