Version 56 (modified by Jacob, 11 years ago) ( diff )


Blueprint for LiveCD & Installer

A Live CD (probably based on Ubuntu) that can be used to demo and deploy a Sahana Eden instance.

The same CD can be used to build Virtual Machines.

We want 4 different builds:

  • Lite
  • Normal
  • GIS
  • Dev

Build notes are being maintained at


Designed to provide a quick LiveCD demo of functionality without needing any installation.

Can also be run headless as a simple server to be accessed by host's Web browser & perhaps 1-2 other users on a small LAN.

  • Python
  • Rocket (i.e. web2py's native webserver)
  • Sqlite (i.e. Python's native DB)


Revision A is now available at This revision eliminates the GUI desktop and commits to being a headless Lite web2py server. Command line access is available using shellinabox, from which root user can execute update scripts.

The Eden-Lite appliance boots to a menu of running services and their ports. Web2py listens on port 80 of the configured interface.

The web2py admin interface is not accessible with this revision.

Exiting the configuration console brings up a command prompt.

From my testing, it appears one script needs revised: /usr/bin/local/import.

Any feedback is welcome as I begin to work out revision B, which I hope will be the final revision. I'm on irc as nick ghoulmann, and may also be contacted by email.


bzr checkout --lightweight -r 2717 lp:~mdipierro/web2py/devel web2py
cd web2py/applications
bzr checkout --lightweight -r XXX lp:sahana-eden eden

1st run:

cd ~web2py
# migrate/import
python -S eden -M -R applications/eden/static/scripts/tools/
# prepop off
sed -i 's/deployment_settings.base.prepopulate = True/deployment_settings.base.prepopulate = False/g' applications/eden/models/
# migrate off
sed -i 's/deployment_settings.base.migrate = True/deployment_settings.base.migrate = False/g' applications/eden/models/
# compile
python -S eden -R applications/eden/static/scripts/tools/

Run with password & NIC bound to real IP (need to work out how to find this out):

python -a <password> -i x.x.x.x
update: python web2py -a <password> -i 0

Grabbing the ip for insert into

hostname -i | sed 's/ //'


Need a way to keep the system updated easily (web2page?):

cd ~web2py
# migrate on
sed -i 's/deployment_settings.base.migrate = False/deployment_settings.base.migrate = True/g' applications/eden/models/
rm -rf applications/eden/compiled
# migrate
python -S eden -M -R applications/eden/static/scripts/tools/
# dbstruct (not needed for sqlite)
# migrate off
sed -i 's/deployment_settings.base.migrate = True/deployment_settings.base.migrate = False/g' applications/eden/models/
# compile
python -S eden -R applications/eden/static/scripts/tools/

Online Profile

In order to have full control of what a remote system has, without the need for user intervention, we should have each instance check an online profile from which it reads what it needs to do:

  • Version of Eden
  • Version of Web2Py
  • Upgrade scripts
    • 000_config settings
      • modules enabled
    • Reference data to import
    • Data migration if schema change requires it

This would be a scheduled task.



First draft is complete. TKLPatch produces Eden server from TurnKey Linux LAPP 11.1 (Ubuntu Lucid). Resulting ISO provides ssh/sftp, shellinabox, and Webmin, along with Apache2 and PostgreSQL preconfigured with Sahana Eden. Both the TKLPatch and the derivative ISO are available for review and download from

Usage Notes

Download the Eden LAPP TKLPatch.

To apply the patch, follow either the official TKLPatch documentation or the TKLPatch Primer.

Alternatively, download the Eden LAPP ISO. To install to bare metal or use as a LiveCD, burn the ISO to CD-ROM. Alternatively, use the ISO to build a virtual machine using your preferred virtualization platform.

The install process involves partitioning the disk, setting the root user password and the postgres password, and downloading security updates.

To Do

Add administrative scripts to /usr/local/bin.


Designed to be run headless in an office of up to 50 users with poor quality Internet...would be a dedicated machine if a lot of users.




Eden install script completed in collaboration with Rik Goldman, Fran Boon, and students from Chelsea School.


Designed to be run headless in an office of up to 50 users with poor quality Internet...would be a dedicated machine if a lot of users.

Useful for the GPS Sharing tool, for instance.

  • Apache/WSGI
  • PostGIS
  • GeoServer
  • osmosis
  • Mapnik
  • DATA
    • Scripts to download content by geographic area (ideally these would be added to Sahana UI for use outside this environmonet too, but that could come later)
    • OpenStreetMap
    • Contours


Note: BZR/Launchpad info is deprecated. Please use GitHub. Thanks Jacob, 26/11/12


Revision J is complete. It fixes a problem with Pydev configuration and includes usage notes for the end-user. LXDE serves as the lightweight desktop environment. Webmin and SSH are bundled with the distro. Documentation had been developed and is currently available at It will be migrated to this wiki.

The dev env can launch Eclipse and Firefox with Firebug. irssi is incorporated and pre-configured to log in to #sahana-eden on

Documentation for the end user should be separated from the documentation for the Eden team.

Deprecated: Note that the dev env serves as a headless Eden server from startup. Simply exit the confconsole, log in, and startx to enter the gui development environment. See the usage notes for details.


Designed for use in Training sessions where we want to get a number of people on diverse equipment operational quickly. Should include a Desktop, iPython & Debugging tools: Eclipse & Firebug.

Eclipse needs configuring to support Web2Py & Web2Py would normally be run from Eclipse's Debug mode.

Homepage of Firefox would be set to

Firefox should include useful bookmarks such as Launchpad, Trac, web2py book, jquery docs, etc

This would replace our existing Dev VM.


bzr branch -r 2717 lp:~mdipierro/web2py/devel web2py
cd web2py/applications
bzr branch -r XXX lp:sahana-eden eden


'update' alias

cd web2py
bzr pull -r <revision>
cd applications/eden
bzr pull -r <revision>


Students at Chelsea School are building these for us based on TurnKey Linux. Visit the students' project page for more information.


Note: See TracWiki for help on using the wiki.