Organized and updated upgrade docs

This commit is contained in:
Bryan Ashby 2023-03-19 13:39:21 -06:00
parent 81edff48fe
commit 94842afd7e
No known key found for this signature in database
GPG Key ID: C2C1B501E4EFD994
7 changed files with 13 additions and 77 deletions

View File

@ -28,4 +28,4 @@ env CC=gcc CXX=gcc npm rebuild --build-from-source node-pty
### Missing Menu & Theme Entries ### Missing Menu & Theme Entries
One thing to be sure and check after an update is your menu/prompt HJSON configurations as well as your theme(s). The default templates are updated alongside features, but you may need to merge in fragments missing from your own. One thing to be sure and check after an update is your menu/prompt HJSON configurations as well as your theme(s). The default templates are updated alongside features, but you may need to merge in fragments missing from your own.
See also [Updating](./docs/_docs/admin/updating.md) See also [Upgrading](./docs/_docs/admin/upgrading.md)

View File

@ -2,52 +2,20 @@
This document covers information for keeping your system updated through periodic upgrades as well as version-to-version upgrade notes. **Be sure to read these notes for _any_ upgrade!** This document covers information for keeping your system updated through periodic upgrades as well as version-to-version upgrade notes. **Be sure to read these notes for _any_ upgrade!**
# Before Upgrading # Before Upgrading
* Always back up your system! (See [Administration](./docs/admin/administration.md)) 1. Always back up your system! (See [Administration - Backing Up Your System](./docs/_docs/admin/administration.md#backing-up-your-system))
* Seriously, always back up your system! 2. Seriously, always back up your system!
3. Review the version to version release notes within this document.
4. [Upgrade](./docs/_docs/admin/upgrading.md)
# General Notes # The Upgrade Process
## The Upgrade Process
ENiGMA½ does not currently have much of a "release process" in that instead, it is expected that if you want new features, you will `git pull` them to your system. ENiGMA½ does not currently have much of a "release process" in that instead, it is expected that if you want new features, you will `git pull` them to your system.
You will generally be pulling from `master`, so the process is as follows: Refer to [Upgrading](./docs/_docs/admin/upgrading.md) for details around this process.
```bash
# stop system if running
cd enigma-bbs
git pull origin main
# look for any errors
rm -rf node_modules # ONLY for Node.js upgrades!
npm install # or yarn, etc.
# look for any errors
node main.js # restart system
```
![Upgrade Flow](./docs/assets/images/upgrade-flow.png)
> :information_source: After upgrading, it is always recommended to look at [UPGRADE.md](UPGRADE.md) and inspect the version-to-version notes as well as the [WHATSNEW](WHATSNEW.md).
## Configuration File Updates
After an upgrade, **it is possible that your system is missing new features exposed in the default theme/menu layout**. To check this, you can look at the template menu files in `misc/menu_templates`, and `config_template.in.hjson` as well as the default `luciano_blocktronics/theme.hjson` files for changes/additions.
Tips:
* Create a clean checkout of ENiGMA via `git https://github.com/NuSkooler/enigma-bbs.git enigma-bbs-clean` and run it to see any new features within the default configuration
* As the template files described above are likely what you built your system from, a diff viewer can go a long way!
> :information_source: See [Updating](./docs/admin/updating.md) for details on updating menu files.
# Upgrading the Code
Upgrading from GitHub is easy:
```bash
cd /path/to/enigma-bbs
git pull
rm -rf npm_modules # do this any time you update Node.js itself
npm install # or simply 'yarn'
```
# Problems # Problems
1. Check [TROUBLESHOOTING](TROUBLESHOOTING.md) first. 1. Check [TROUBLESHOOTING](TROUBLESHOOTING.md) first.
2. Report your issue on [Xibalba BBS](https://xibalba.l33t.codes), or [file a issue on GitHub](https://github.com/NuSkooler/enigma-bbs/issues) if you believe you've found a bug or missing feature. 2. Report your issue on [Xibalba BBS](https://xibalba.l33t.codes), or [file a issue on GitHub](https://github.com/NuSkooler/enigma-bbs/issues)!
# Version to Version Notes # Version to Version Notes
> :warning: Be sure to inspect these notes during any upgrades! > :warning: Be sure to inspect these notes during any upgrades!
@ -63,7 +31,6 @@ This will expose the default ActivityPub setup. Enabling ActivityPub functionali
> :information_source: See [Configuration Files Include Statements](./docs/_docs/configuration/config-files.md#includes) for more information on using `include`. > :information_source: See [Configuration Files Include Statements](./docs/_docs/configuration/config-files.md#includes) for more information on using `include`.
## 0.0.12-beta to 0.0.13-beta ## 0.0.12-beta to 0.0.13-beta
* To enable the new Waiting for Caller (WFC) support, please see [WFC](docs/modding/wfc.md). * To enable the new Waiting for Caller (WFC) support, please see [WFC](docs/modding/wfc.md).
* :exclamation: The SSH server's `ssh2` module has gone through a major upgrade. Existing users will need to comment out two SSH KEX algorithms from their `config.hjson` if present else clients such as NetRunner will not be able to connect over SSH. Comment out `diffie-hellman-group-exchange-sha256` and `diffie-hellman-group-exchange-sha1` * :exclamation: The SSH server's `ssh2` module has gone through a major upgrade. Existing users will need to comment out two SSH KEX algorithms from their `config.hjson` if present else clients such as NetRunner will not be able to connect over SSH. Comment out `diffie-hellman-group-exchange-sha256` and `diffie-hellman-group-exchange-sha1`

View File

@ -34,7 +34,7 @@ This document attempts to track **major** changes and additions in ENiGMA½. For
* Additional options in the `abracadabra` module for launching doors. See [Local Doors](./docs/modding/local-doors.md) * Additional options in the `abracadabra` module for launching doors. See [Local Doors](./docs/modding/local-doors.md)
## 0.0.12-beta ## 0.0.12-beta
* The `master` branch has become mainline. What this means to users is `git pull` will always give you the latest and greatest. Make sure to read [Updating](./docs/admin/updating.md) and keep an eye on `WHATSNEW.md` (this file) and [UPGRADE](UPGRADE.md)! See also [ticket #276](https://github.com/NuSkooler/enigma-bbs/issues/276). * The `master` branch has become mainline. What this means to users is `git pull` will always give you the latest and greatest. Make sure to read [Upgrading](./docs/admin/upgrading.md) and keep an eye on `WHATSNEW.md` (this file) and [UPGRADE](UPGRADE.md)! See also [ticket #276](https://github.com/NuSkooler/enigma-bbs/issues/276).
* Development now occurs against [Node.js 14 LTS](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md). * Development now occurs against [Node.js 14 LTS](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md).
* The default configuration has been moved to [config_default.js](/core/config_default.js). * The default configuration has been moved to [config_default.js](/core/config_default.js).
* A full configuration revamp has taken place. Configuration files such as `config.hjson`, `menu.hjson`, and `theme.hjson` can now utilize includes via the `includes` directive, reference 'self' sections using `@reference:` and import environment variables with `@environment`. * A full configuration revamp has taken place. Configuration files such as `config.hjson`, `menu.hjson`, and `theme.hjson` can now utilize includes via the `includes` directive, reference 'self' sections using `@reference:` and import environment variables with `@environment`.

View File

@ -6,7 +6,7 @@ title: Administration
# Administration # Administration
## Keeping Up to Date ## Keeping Up to Date
See [Updating](updating.md). See [Upgrading](upgrading.md).
## Viewing Activity ## Viewing Activity
Monitor your system via the [Waiting For Caller (WFC)](../modding/wfc.md) screen and learn how to [monitoring logs](../troubleshooting/monitoring-logs.md). Monitor your system via the [Waiting For Caller (WFC)](../modding/wfc.md) screen and learn how to [monitoring logs](../troubleshooting/monitoring-logs.md).

View File

@ -1,31 +0,0 @@
---
layout: page
title: Updating
---
# Updating
Keeping your system up to date ensures you have the latest fixes, features, and general improvements. Updating ENiGMA½ can be a bit of a learning curve compared to traditional binary-release systems you may be used to, especially when running from Git cloned source.
## Updating From Source
If you have installed using Git source (if you used the `install.sh` script) follow these general steps to update your system:
1. **Back up your system**!
2. Pull down the latest source:
```bash
cd /path/to/enigma-bbs
git pull
```
3. :bulb: Review `WHATSNEW.md` and `UPDATE.md` for any specific instructions or changes to be aware of.
4. Update your dependencies:
```bash
npm install # or 'yarn'
```
4. Merge updates from `config/menu_template.hjson` to your `config/yourbbsname-menu.hjson` file (or simply use the template as a reference to spot any newly added default menus that you may wish to have on your system as well!).
5. If there are updates to the `art/themes/luciano_blocktronics/theme.hjson` file and you have a custom theme, you may want to look at them as well.
6. Finally, restart your running ENiGMA½ instance.
> :information_source: Visual diff tools such as [DiffMerge](https://www.sourcegear.com/diffmerge/downloads.php) (free, works on all major platforms) can be very helpful for the tasks outlined above!
> :bulb: It is recommended to [monitor logs](../troubleshooting/monitoring-logs.md) and poke around a bit after an update!

View File

@ -15,7 +15,7 @@ The script will install `nvm`, Node.js and grab the latest ENiGMA BBS from GitHu
> :information_source: After installing: > :information_source: After installing:
> * Read [External Binaries](../configuration/external-binaries.md) > * Read [External Binaries](../configuration/external-binaries.md)
> * Read [Updating](../admin/updating.md) > * Read [Upgrading](../admin/upgrading.md)
You might also check out some external guides: You might also check out some external guides:
* https://www.maketecheasier.com/create-bbs-linux-with-enigmabbs/ * https://www.maketecheasier.com/create-bbs-linux-with-enigmabbs/

View File

@ -15,4 +15,4 @@ There are multiple ways of installing ENiGMA BBS, depending on your level of exp
:scroll: Check out [this awesome video on installation and basic configuration](https://youtu.be/WnN-ucVi3ZU) from Al's Geek Lab! :scroll: Check out [this awesome video on installation and basic configuration](https://youtu.be/WnN-ucVi3ZU) from Al's Geek Lab!
## Keeping Up To Date ## Keeping Up To Date
After installing, you'll want to [keep your system updated](../admin/updating.md). After installing, you'll want to [keep your system updated](../admin/upgrading.md).