Unofficial Docker image for Adapt Authoring tool.
Go to file
3wc c9496d4335
continuous-integration/drone/push Build was killed Details
continuous-integration/drone Build is passing Details
continuous-integration/drone/tag Build is passing Details
Bump Adapt version
2023-01-16 10:46:33 -08:00
.dockerignore Use separate entrypoint to combine compose files 2020-10-02 14:21:50 +02:00
.drone.yml Drone image building 2023-01-16 10:27:57 -08:00
.env_example Update README and .env_example 2020-10-02 17:12:41 +02:00
.gitignore Not a great idea to store secrets. 2020-06-22 12:08:32 -04:00
Dockerfile Bump Adapt version 2023-01-16 10:46:33 -08:00
README.md Drone image building 2023-01-16 10:27:57 -08:00
docker-compose.yml hardcoding → env file, tweak entrypoint 2020-10-02 19:24:02 +02:00
docker-entrypoint.sh Disable `node upgrade` during launch 2020-11-20 11:59:31 +02:00

README.md

docker-adaptauthoring

Build Status

Docker configuration for the Adapt Authoring tool: create SCORM-compatible training.

Migrated from https://github.com/3-w-c/docker-adaptauthoring

Getting started

Because Adapt requires a database to run, the easiest way to get started is to use docker-compose to set up Adapt and MongoDB automatically.

Fetch the example docker-compose.yml:

wget https://github.com/3-w-c/docker-adaptauthoring/blob/master/docker-compose.yml

Edit the variables under services.app.environment, then push the button!

docker-compose up

Configuration

Environment variables

You can configure Adapt's initial set-up using these variables:

  • DOMAIN - hostname for the Adapt service
  • PORT (default 5000) - TCP port for the Adapt service
  • DB_HOST - MongoDB server hostname
  • DB_USER - MongoDB username
  • DB_NAME - MongoDB database name
  • SESSION_SECRET - HTTP session secret key (set to something random)
  • ADMIN_EMAIL - email address for the default superuser account
  • ADMIN_PASSWORD - password for the default superuser account
  • FROM_EMAIL - From: email address for notifications

(If you edit these settings after set-up, you'll need to manually edit /adapt_authoring/conf/config.json with the new values as well)

Docker secrets

As well as environment variables, you can also load SESSION_SECRET and ADMIN_PASSWORD from files, which is helpful if you want to keep secret data in Docker swarm mode secrets.

Simply set SESSION_SECRET_FILE / ADMIN_PASSWORD_FILE.

Clean Up

To remove containers

docker-compose down

To remove data (courses)

This will delete your hard work.

docker volume rm dockeradaptauthoring_adaptdb
docker volume rm dockeradaptauthoring_adaptdata

Backup

Create local archives of both the adapt_authoring folder and database:

 docker run -it -w /backup -v dockeradaptauthoring_adaptdb:/adaptdb \
   -v $(pwd)/backup:/backup dockeradaptauthoring_authoring \
   bash -c "tar -czvf adaptdata_`date +"%Y-%m-%d_%H-%M-%S"`.tar.gz /adapt_authoring && tar -czvf adaptdb_`date +"%Y-%m-%d_%H-%M-%S"`.tar.gz /adaptdb"

Deployment

Docker Swarm

See coop-cloud/adapt_authoring for an example Docker "swarm mode" configuration, including secrets, SSL reverse proxy, and continuous integration tests of the stack deployment.

Troubleshooting

  • If you run the installer script many times in quick succession, you might get rate-limited by Github (the script checks Github for the latest Adapt Authoring version, and to clone the Authoring Framework and plug-ins). Wait an hour, or use a VPN.
  • node upgrade doesn't work, because code is downloaded as a ZIP archive instead of using a git clone