Releases: Path-LMS/PathLMS
Release list
PathLMS 0.125.1
What changed in this version
A small fix for learners. It installs like any other update.
Fixed
-
A quiz you already passed says so. Coming back to a quiz you passed used to offer "Start the questions". Now the page says "You passed these questions." Press "See your score" to look at how you did.
-
A learning path says what its number counts. The top of a path used to say "0% Complete" even when a learner was well into the first course. It now says "0% of the courses finished", and that a course counts once you finish all of it.
-
A gray brand color is turned down, not turned blue. Choosing a very light or very dark gray could come back as a blue nobody picked. Now it is turned down, as a middle gray already was.
-
Clearer words about how long an update can take. The Update screen's note about moving the database is now a few short sentences. It says that some updates move the database, that nobody can use PathLMS while that runs, and roughly how long that is for a database your size.
-
An update can no longer be run by an old updater. PathLMS keeps a small helper container after it replaces its own updater, so its log can be read. If something started that helper again later, it could put back an older updater, and the next update would then fail and put itself back. The helper now does nothing unless it is replacing the updater it was made for, and the updater removes old helpers when it starts.
-
A learner can no longer raise their own figure on a manager's report. The progress report counted records a learner could write for themselves. It now counts only the items they really finished.
-
The Updates screen says what it means. Where it said "Published without a description", it now says "Nothing needs doing by hand after this update."
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:280ccdaaeac55aa797814fdedd4cab9968608f18b44e32790561011ffdfca3f4
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:21126fdb392b61ee329abe0f8aa431e37b7a9d54c8c8b603485021e9c22994da
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:8cce3794658baa883c6455cfb27c0a2af8a11d4027dc9c970e11152bfcb5570f
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.
PathLMS 0.125.0
What changed in this version
Learners can now hand in work, and somebody can answer it. It installs like any other update, and nothing already in your courses changes until an author turns it on.
What is new
-
Handing in work. An author can set any assignment to ask learners to hand something in: some writing, a file, or both. It is a choice called "Learners hand in", beside "Required" in the course builder. Assignments you already have ask for nothing until you change this.
-
A "Hand in your work" panel for learners. On an assignment that asks for work, the learner writes in a box or picks a file and presses "Hand in". They see that it arrived, and later what the reviewer said. They can hand in again whenever they like, and every attempt is kept.
-
"Work to Review". A new page in the menu lists the work waiting on you. Open a piece, read it, write what you would like to say, and press "Accept" or "Send back". Accepting finishes that step for the learner. Sending it back asks them to hand it in again, with your words beside it.
-
Who can review. An administrator. A manager, for the people in their groups. The author of the course. An instructor, for the courses and groups an administrator gives them. Nobody reviews their own work.
-
"Instructors", under Administration. An administrator chooses an instructor and gives them courses and groups of people to review. It can be taken away again the same way.
Things worth knowing
- A step that asks for work is finished only when a reviewer accepts it. Pressing a button does not finish it, for anybody.
- Once a step is finished it stays finished. Sending accepted work back later asks for another try, but it never takes the finish away, or a certificate.
- A handed-in file can be opened by the learner and their reviewers, and by nobody else. It can never be placed inside a lesson.
- File types and sizes are the same as for files authors add to courses.
- Work handed in is kept even if the assignment or the course is later removed.
Fixed
- A new install whose very first start was cut short now says so. Before, it opened and nobody could ever sign in. Now it stays shut and tells you what happened, that nothing has been saved yet, and the three commands that start it again.
- Two rare start-up problems on slow machines. A start that had to wait could run its last steps twice at once, and a database update that had already saved part of its work could be tried again from the beginning. Both now happen once.
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:34cfa29d26dfc8f1b7f39429b24fa43ef96aa8b4ea98ee744e9303ba4e324b19
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:a1dfa2603ecbe966ec6839428c6971070af93c4fa5b2011ca5ebcf65698f4ab7
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:16c01d777b1dd12e7171eac00c8705b9e22820ea94955fd59054cc23a6f62934
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.
PathLMS 0.124.1
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.
PathLMS 0.124.0
What changed in this version
This is a normal update and it installs like any other. What is new is mostly about knowing what an update will do to you before you press the button.
What is new
-
The Update screen now tells you what the update will cost you, before you press anything. If the update moves the database, it says how long PathLMS will be switched off while that happens. That figure is worked out from the size of your own database, not from a general guess. If the update does not move the database, it says so.
-
The tidy-up tool now comes with the release. It removes old copies of PathLMS images left on the disk after updates. The instructions already told people to run it. Until now it was not in the download, so they could not. It is called remove-old-images.sh and it sits beside the other tools.
-
Nothing PathLMS is built on changes version unless a person has approved that exact version. The database, the cache, the web server, Node, the file store and the tool that moves containers. Each one was installed, updated, rolled back and restored from a backup first, and each was approved by name, with the date. That was always meant to be true. It is now something a release cannot go out without.
What has not changed, and it is worth saying
No piece of other people's software moved version in this release. They all moved in the release before this one, and they are all still on their newest finished version. If you read the notes for 0.123.0, this is not that news arriving twice.
Fixed
-
The check that installs a published release and proves it works was building its own test password from the clock, which is guessable. It now uses a random one.
-
Rehearsing a sign-in with a phone code used up a code without writing down that it had. The next step then asked for the same code again and read the refusal as a locked-out administrator.
Nothing to do
Press Update. Nothing to type, nothing to edit, and nothing about your courses, people or records changes.
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:61e82a6e54e2c3dba97b8b5f9b8ff0e915f31d421619e4c619b098c409322a14
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:647faaaebf0030552313b7dfca679d11fb8abc1d861cadcb42a90d5b0b71a097
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:444167e8436e4f71c28b8b92d917cb742d180f61b515cdf3fd031bc9758433b1
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.
PathLMS 0.123.0
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 |
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:59fe68db66272d2096a417fefb0776e302da891d01ce4adfab6ffbfbe6e102dd
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:7bda4fe26358c854402a4bae61d6e5e5a118669ed2f4d1aa911eac03ffc63dd2
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:d425f079281a1a31d2d06463c4bf22857e685f9955c9c0b35b64c56d7e9c7923
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.
PathLMS 0.122.1
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 |
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:1a83c56d990ed6e762fa5aacdc1c70c104e4ebbf909979e4938038880f7812f9
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:b6856a4e208af9cf9ba0f3df63eace272af75687388bd08cfaf18c4ec485c604
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:89ad1c8c6bf6a8c9acbd001b1ac8b58e03e9f593f87e65a614e1bfe5338e4f65
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.
PathLMS 0.121.0
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 |
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:bfc1a392438fc8ea3c1b862a13a86401b54a32016766959375858f87c2d6706d
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:d6d54669aef09c0bb5e7b8330fb01f5ec87307bdaeb6e52336896d0464af53a4
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:5cb5d396570d6b7d884e4f09d749cac10dc648b48dae5b54cf8afc16d4da62f6
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.
PathLMS 0.120.3
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 |
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:df7e81186ef1afc0ce22a449db6268a44e331d0d1c2a7801dc7226c63e857494
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:6c793660a54bc92ea43ce7ab73eb58804f1f042f2855ebc62209ce029b323d5b
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:720c29fe6dc00f65c78d4c07e28ebae36bdc797b4e1b9bbfd8ed5f005617798c
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.
PathLMS 0.119.0
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 |
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:fd4c970486a0dc97be0529ab5cdbc5e94fb1b742b6149a1b741457f1406357d2
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:e8e0fc0f02ad32055bed64590d928d322ac2589535bf794d8e78b5c83ae0f13a
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:0e7d3b3dd14e0a87db46a0774270fbe47dee467458f627556ce4ae8baad7b4a8
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.
PathLMS 0.118.0
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 |
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:b9e7e638705796d1ee41365c0571b15d73bf29441b799d8dea99c1d03e0e96d6
PATHLMS_WEB_IMAGE=ghcr.io/path-lms/web@sha256:c76f5e1659e00944c5288538499cc06e6c92cfc1e757630f6f8b97b2cc24bee8
PATHLMS_DB_IMAGE=ghcr.io/path-lms/db@sha256:ab36ef344b398dcd922af78ef72cbaa4e71df25e4e83f0f1d7fbfe6d07840e39
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.