docker-adaptauthoring
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 servicePORT(default5000) - TCP port for the Adapt serviceDB_HOST- MongoDB server hostnameDB_USER- MongoDB usernameDB_NAME- MongoDB database nameSESSION_SECRET- HTTP session secret key (set to something random)ADMIN_EMAIL- email address for the default superuser accountADMIN_PASSWORD- password for the default superuser accountFROM_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 upgradedoesn't work, because code is downloaded as a ZIP archive instead of using agit clone