Commit Graph

1886 Commits

Author SHA1 Message Date
Régis Behmo f2c476f954 Improve documentation 2018-12-26 19:27:08 +01:00
Régis Behmo e993b3109f Stop the "ln -s" settings madness
Creating soft links to files that do not exist is just madness, let's
stop it. Instead, we take advantage of the CONFIG_ROOT environment
variable, which allows to place lms/cms.env/auth.json files anywhere.
2018-12-26 19:27:08 +01:00
Régis Behmo 87980f484b Rename custom settings from "universal" to "tutor" 2018-12-26 19:27:08 +01:00
Régis Behmo ab4f94f030 Upgrade node to 5.5.1 in openedx image 2018-12-26 19:27:08 +01:00
Régis Behmo 0a3812cf4f Simplify env/configure commands
"env" now only generates the environment, and depends only on
config.json, which is run only when necessary. There exists only one
"make configure" command, which force-runs config.json and builds the
env.
2018-12-26 19:27:08 +01:00
Régis Behmo fbef486ad4 Slim down configurator image with alpine
By switching from ubuntu:18.04 to alpine, we reduce the local image size
from 510 to 87 Mb. Because we don't use bash anymore, it's difficult to
rely on chroot, so we just get rid of docker-entrypoint.sh
2018-12-26 19:27:08 +01:00
Régis Behmo c903ab2b12 Migrate openedx-docker project to Tutor 👩‍🏫
The project gets a new name and some proper documentation. Build/Deploy
are now properly separated.
2018-12-26 19:27:08 +01:00
Régis Behmo d34e32658c Move scripts to dedicated folder in openedx image 2018-12-26 19:27:08 +01:00
Régis Behmo d454cfd72d Add openedx-assets command
This is great for running a local webserver and watching theme changes
in just two commands.
2018-12-25 19:25:23 +01:00
Régis Behmo 22aa54d88f Automatically build themes from openedx/themes
No need for the THEMES variable.
2018-12-25 19:25:23 +01:00
Régis Behmo 9db0e59ae7 Faster "npm install"
This should shave a few minutes per build.
2018-12-25 19:25:23 +01:00
Régis Behmo 14b1047424 Upgrade demo course 2018-12-25 19:25:23 +01:00
Régis Behmo 3b215c9f88 Package static assets inside the openedx image
This allows us to deploy much faster: all we have to do is to copy the
assets from the container to the shared volume.

We also changed the way themes are managed: similarly to static assets,
they are now packaged inside the docker image.
2018-12-25 19:25:23 +01:00
Frank Anderson beabe6c0cf Update Makefile
Moved the Comments to the beginning of the so `make` doesn't attempt to run the comments as commands.
2018-12-18 18:35:53 +01:00
Régis Behmo 0e670837cf 🎏 Download extra locales to the openedx docker image
This allows anyone to run a German 🇩🇪 or Japanese 🇯🇵 (for example)
platform without a transifex account or running any extra command.
2018-12-02 13:44:13 +01:00
Régis Behmo 62fa700b31 Easily change openedx docker image
Just add the OPENEDX_DOCKER_IMAGE variable to the .env file.
2018-11-28 20:18:10 +01:00
Régis Behmo 9f60686fcd Enable customized themes
This makes assets collection faster because we no longer compile assets
from the themes bundled with edx-platform.

Close #88
2018-11-28 20:03:49 +01:00
Régis Behmo 74533df152 Get rid of datadog 2018-11-28 19:22:25 +01:00
Régis Behmo 421b2d4124 Upgrade docker images to ubuntu 18.04
All images (except the openedx image, which requires ubuntu 16.04) are
upgraded.
2018-11-28 19:21:15 +01:00
Régis Behmo f4558a6ca7 Interactively change default platform language 2018-11-28 18:28:46 +01:00
Régis Behmo e94fee1767 Document how to run forked edx-platform 2018-11-26 12:07:58 +01:00
Régis Behmo 0270f4f794 Fix ora2 uninstall prior to re-install 2018-11-25 22:24:25 +01:00
Régis Behmo c9d1db1447 Local filesystem storage for ORA2 uploads
By default, open response assessment files are sent to S3. Here, we
store uploaded files with the "filesystem" backend instead. To do so, we
must install a forked version of ora2 that fixes a couple issues.

Note that the "django" backend is not very usable, as file extensions
are lost on upload.

Close #97
2018-11-25 11:48:47 +01:00
Régis Behmo 1d8fd232a5 Accelerate container bootstrapping
We don't need to run "chmod" on openedx files outside of development
mode. So, there is no need to set the USERID environment variable in
most cases. This should considerably accelerate pretty much all commands
that involve the openedx container.

For discussion consult PR #98.
2018-11-23 13:48:02 +01:00
Silvio Tomatis d9f7ff830a Add missing line continuation in `assets-development-[cl]ms` 2018-11-23 12:00:51 +01:00
Régis Behmo 23ce23e76d No need for dependent containers in assets tasks 2018-11-20 19:06:43 +01:00
Régis Behmo 041113e9ee Revert "Attempt to generate assets with travis"
This reverts commit 9592672ff9.

Assets generation still requires too much time...
2018-11-20 19:06:21 +01:00
Régis Behmo 9592672ff9 Attempt to generate assets with travis
Now that assets generation has been accelerated (a little) we can
attempt again to run "make assets" in travisci.
2018-11-20 17:56:43 +01:00
Régis Behmo 274432436f Fix assets generation in development
webpack requires the NODE_ENV environment variable which is incorrectly
set "paver update_assets" in development mode. To avoid this issue, we
split update_assets into its subparts.
2018-11-20 17:55:00 +01:00
Régis Behmo 080341a32e Remove persistent data in openedx containers
VOLUME statements in a container make the data persist in this folder.
There is no need to do so, so we just remove the statements.
2018-11-20 17:10:16 +01:00
Régis Behmo fd4f8aa359 Fix cross-platform theme assets generation
Theme assets generation relies on a cache stored in memcache. We were
observing incorrect urls generated for theme/xblock assets whenever
assets had been generated for another platform. For instance, when
viewing an XBlock in the LMS right after running "paver update_assets"
in the cms.

To solve this problem, we cache staticfiles assets in entries with
different prefix.

Close #95
2018-11-20 16:41:22 +01:00
Régis Behmo 1585a20558 Fix private requirements version control
private.txt was under version control.
2018-11-20 11:46:36 +01:00
Frank Anderson 2f9766a3a1 More simple nginx port mapping
Added the possibility to easily change the ports that nginx listens to.
This is useful, for instance when Apache or Nginx already runs on the
host. With this change, it is no longer necessary to edit the
docker-compose file to modify these ports.

To deploy with alternate ports, add a `.env` file with the following
contents:

```
OPENEDX_NGINX_PORT=8080
OPENEDX_NGINX_TLSPORT=8443
```
2018-11-17 09:04:56 +01:00
Frank Anderson b949a44a78 Add "restart-openedx" make command
Close #91
2018-11-17 08:42:59 +01:00
Régis Behmo 79274f48b6 Make it easier to install extra XBlocks
As per issues #35 and #84
2018-11-13 18:40:01 +01:00
Régis Behmo dfbc8547c8 Make sure rabbitmq restarts on failures
Rabbitmq was not configured to restart on failures. It does not explain
why rabbitmq crashes (with exit code 255, see issue #80), but this should be sufficient
as a quick fix.
2018-10-30 09:33:11 +01:00
Régis Behmo 79a98e39f6 Activate notes without fiddling with advanced settings
When the ENABLE_EDXNOTES feature is added to the CMS, it is not
necessary to modify the advanced module list to activate notes for each
course.

Close #79.
2018-10-03 19:10:25 +02:00
Régis Behmo 0bc553fbe4 Accelerate Android app build
App building is accelerated by pre-installing packages in docker image.
2018-10-03 16:06:28 +02:00
Régis Behmo 1dab77178d Fix Android apk path
Close #70
2018-10-03 15:43:21 +02:00
Régis Behmo f03e120d9e Activate preview.localhost hostname
This allows local access to the preview endpoints. However, they should
not be used anywhere since preview.LMS_HOST is used instead.

Close #77.
2018-10-03 09:01:59 +02:00
Régis Behmo b78d285779 Fix 'dorum' typo 2018-10-02 18:14:39 +02:00
Régis Behmo c2d536dae5 Upgrade to hawthorn.2 2018-10-02 10:20:14 +02:00
Régis Behmo 58320e1e0f Workers need to share data with LMS/CMS
Hence, shared volumes must be identical.

Close #74.
2018-10-02 08:06:07 +02:00
Régis Behmo b4947d10e7 Prevent package uninstall in openedx image
The `update_assets` paver task of the lms/cms attempt to manually
uninstall some old packages. We should not concern ourselves by this,
since all requirements are installed from scratch in every docker image.

Close #73.
2018-10-01 19:18:01 +02:00
Régis Behmo 30b23462d1 Fix broken celery tasks in CMS
Duplicate "environment" statement in the docker-compose.yml was causing
the first one to be forgotten. Hence, the cms celery worker was running
with LMS settings.

Close #72
2018-09-30 19:19:05 +02:00
Régis Behmo 96cd7c82d7 Fix travis build to include xqueue & notes 2018-09-30 14:51:03 +02:00
Régis Behmo e60e0071c4 Make feature flags interactive
Feature flags are now asked to the user interactively, as part of the
configuration step. This makes defining feature flags much more simple.
2018-09-30 14:37:49 +02:00
Régis Behmo 96ab171f1c Revert "By default, don't push android image to dockerhub"
This reverts commit 8392f4a2d3.

Actually, no personal data is included in the Android image, so it's
perfectly fine to push it to docker hub.
2018-09-30 13:49:07 +02:00
Régis Behmo 8392f4a2d3 By default, don't push android image to dockerhub 2018-09-30 13:29:38 +02:00
Régis Behmo b6ea8d9efb Fix activation flags: env supersedes Makefile.env
If users have installed previous version of Makefile.env, they will have
to delete it.
2018-09-30 12:27:32 +02:00