Skip to content

PathLMS 0.124.1

Choose a tag to compare

@Ottomatic-Mike Ottomatic-Mike released this 24 Sep 22:02
· 5 commits to main since this release

What changed in this version

This is a small update that fixes things. It installs like any other.

Fixed

  • A new PathLMS could come up with no way to sign in. On the very first start, the backup and the database setup could run into each other. PathLMS then waited a few minutes and tried again, and the second try worked. But it skipped making the first administrator. The site worked, and nobody could ever sign in to it until somebody restarted it. Now the database setup simply tries again straight away when this happens. And if PathLMS ever does have to wait, it finishes everything before it lets anybody in.

  • The rollback and database-move tools now stop and say so when git or curl is missing. Before, a missing curl made them report a failure over something that had worked. A missing git made the rollback say your old version was gone without having looked. Both now stop before touching anything and tell you the one command that installs what is missing. The update tool still works without git. People who installed from a download often do not have it.

  • The demo accounts could get a password that PathLMS itself refuses. This only affects the optional demo data. The password was random, and now and then it happened to contain part of the demo administrator's name. It is now made of numbers, so that cannot happen.

Installing this

Download the files below into one empty directory and follow INSTALL.md. You need Docker and nothing else: no copy of the source code, no git, and no Node.

File What it is
docker-compose.yml The whole stack, encryption included. One file, one command.
pathlms.env Your settings, with this release's images already named.
INSTALL.md Numbered steps, from nothing to signed in.
rollback.sh Keep it beside the others. It puts this system back on the version it was running before the last upgrade. Run it as: bash rollback.sh
restore-files.sh Keep it beside the others. It reads a file backup back to prove it is usable, and puts the uploaded files back when they have been lost. Run it as: bash restore-files.sh --verify
check-my-settings.sh Reads your two files and says whether they will work, BEFORE you start anything. It catches the mistakes people make pasting settings into a text box: two settings on one line, the same setting written twice, the address left commented out, image addresses that disagree about the version, a settings file under the wrong name, and an administrator password too short to create an account. Run it as: bash check-my-settings.sh
collect-deploy-evidence.sh Writes one file describing what this installation is actually doing: versions, where the data lives, whether the backups exist, how it is reached, which ports are open. It sends nothing anywhere and prints no password or key. Run it as: bash collect-deploy-evidence.sh
remove-old-images.sh Says how much disk the older versions of PathLMS on this machine are using, and clears the ones nothing is running. It always keeps the two most recent, so going back stays instant, and removes nothing until you add --yes.

If your machine is one of these

Some kinds of server decide one or two things their own way. There is a page for each of those below. Download the one that applies to you and read it beside INSTALL.md; it says what is different and sends you back there for everything else.

Page For
UNRAID.md Unraid, where a stack of containers needs a Compose plugin and the data has to go on the right storage.
BEHIND-A-PROXY.md A deployment with nginx, Caddy or a load balancer in front holding the certificate, which needs one setting here and a few lines there.
CHANGING-THE-PORT.md Anybody moving the port people arrive on, and anybody whose deployment did not come back on the new one. Keep it on the server: its recovery half is written to be read when no screen is reachable.
WHY-THE-COMPOSE-FILE-IS-LIKE-THIS.md Why a line in docker-compose.yml is the way it is, service by service. The compose file carries what you need while editing; this carries the reasoning behind it.

Upgrading an existing installation

Change these three lines in your settings file and run docker compose up -d. The product can also do it for you, taking a backup first and putting everything back if anything fails.

One thing to know before you upgrade into this release. This version opens a second port, 3443, for encrypted connections, so that turning encryption on needs nothing but a certificate you make or paste in on the Settings screen. If something else on your machine already uses 3443, Docker refuses to start and says so, naming the port. Put a free one in PATHLMS_PUBLISHED_TLS_PORT in your settings file and start again.

If something in front of this system holds your certificate and you would rather that port were not reachable from outside, set PATHLMS_PUBLISHED_TLS_ADDRESS to 127.0.0.1: including the colon.

PATHLMS_API_IMAGE=ghcr.io/path-lms/api@sha256:439145b970f31bfb2a6b82e6c2670345b6158a1bc23f6482d1b7c48482692dc0
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:2b272f8e22d32462bd0bc0cc6ca4905596e125e81964d8e7178cbde2714523b3
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:18992975bbae8720743440349870985642679b88adb8c7ca08eb62494a6a19cc

What is published

Three container images and the files above. No source code: the two source archives on this page are added by GitHub itself and hold nothing.