Wagtail being Django based CMS runs on Google App Engine almost out of the box. There are however several important areas that such out of the box solution is lacking - authentication, user management, content storage in Datastore, blog images and other assets storage. Likely there is an open source library called Djangae that bridges those gaps. Here's my recollection of what it takes to add Djangae to a Wagtail project. Source is here.
Make changes described in Djangae installation.
It turns out that Djangae requires version 1.9.40 of App Engine SDK while the latest one is 1.9.49 and in addition to that, App Engine SDK must be in the lib folder. To address that, we need to pull a couple of pieces from djagae-scaffold project. In particular, we need boot.py with fix_path function that adjusts sys.path:
def fix_path(include_dev_libs_path=False): """ Insert libs folder(s) and SDK into sys.path. The one(s) inserted last take priority. """ if include_dev_libs_path: if exists(APPENGINE_DIR) and APPENGINE_DIR not in sys.path: sys.path.insert(1, APPENGINE_DIR) if SITEPACKAGES_DIR not in sys.path: sys.path.insert(1, SITEPACKAGES_DIR) # ....
In order to get all required dependencies in the right places I tweaked their install_deps script.
After all those steps, I can pip install pip mysql-python into a new virtualenv run ./install_deps and the site comes up in ./manage.py runserver.
To deploy to AE I set cloud instance name and password in env.yaml and run gcloud app deploy - works on my Unbuntu...