TyphoonAE


The TyphoonAE project (formerly known as twistedae) aims at providing a full-featured and productive serving environment to run Google App Engine (Python) applications. It delivers the parts for building your own scalable App Engine while staying compatible with Google's API.

The Stack

Installation

Install Ubuntu 9.0.4 or 9.10 (32 or 64 bits)

Install dependencies for building TyphoonAE

sudo apt-get update
sudo apt-get install build-essential python2.6-dev mercurial libncurses5-dev libssl-dev libexpat-dev \
python-setuptools erlang-dev gettext sun-java6-jre
sudo apt-get clean

Get latest sources from mercurial trunk branch

hg clone https://typhoonae.googlecode.com/hg/ typhoonae


Build the whole stack by typing the following commands

cd typhoonae

python bootstrap.py
./bin/buildout

Starting TAE

Configure the demo application
./bin/apptool parts/demo/


Run the supervisor daemon which starts and controls all services at once

./bin/supervisord


You can access the application using a web browser with the following URL

http://localhost:8080/


And access the supervisor web ui with the following URL (default credentials: admin/admin)

http://localhost:9001/


You can add some data with the following command

./bin/appcfg upload_data --config_file=src/demo/note_loader.py --filename=src/demo/notes.csv \
--kind=Note --url=http://localhost:8080/remote_api parts/demo/


How to change installed app:

./bin/supervisorctl -u admin -p admin shutdown
./bin/apptool <new application directory>
./bin/supervisord

Deploy an app

Django 1.1 (appengine-patch)

e.g. installing django appengine-patch on TyphoonAE
as appengine-patch need gettext and a JRE for i18n and combine css & js media
we installed previously gettext and sun-java6-jre packages




Add to manage.py the lines below (before: if __name__ == '__main__')
Adjust to your TAE path


import sys
sys.path.insert(0,'/home/ubuntu/typhoonae/parts/google_appengine')
sys.path.insert(1,'/home/ubuntu/typhoonae/parts/google_appengine/lib/yaml/lib')
sys.path.insert(2, '/home/ubuntu/typhoonae/parts/google_appengine/lib/antlr3')
sys.path.insert(3, '/home/ubuntu/typhoonae/parts/google_appengine/lib/django')
sys.path.insert(4, '/home/ubuntu/typhoonae/parts/google_appengine/lib/webob')

Generate media (css & js combined)

python manage.py generatemedia
mv media _media
ln -s _generated_media media
cd
cd typhoonae
./bin/supervisorctl -u admin -p admin shutdown
./bin/apptool ../appenginepatch-sample
./bin/supervisord

That's it!

You should have access to Django 1.1 appengine-patch
http://localhost:8080/

Jaikuengine

Install subversion client

sudo apt-get install subversion

Get latest jaikuengine sources from subversion trunk repository

cd
svn checkout http://jaikuengine.googlecode.com/svn/trunk/ jaikuengine

Configure Jaikuengine

cd jaikuengine
python manage.py config --write-to-file

Generate media

python manage.py generatemedia

Activate Jaikuengine in TAE

cd ../typhoonae/
bin/supervisorctl -u admin -p admin shutdown
bin/apptool ../jaikuengine
bin/supervisord


Finish configuration of Jaikuengine

http://localhost:8080/install/

Enjoy!








Comments