Hosting Selflanguage.org on Self

Russell Allen mail at russell-allen.com
Tue Feb 4 05:19:05 UTC 2014


Hi guys,

I promised that I'd write up how the Self websites are being hosted.

We rely on Wordpress for our blog, and Nabble for our mailing list archive. Downloads are served up from a Amazon EC2 bucket and our source files for the default World and the VM are on GitHub.

However www.selflanguage.org, handbook.selflanguage.org and bibliography.selflanguage.org are all hosted ourselves. They are on a Fedora 19 VM at DigitalOcean. Each site is a Self world running a Self webserver, behind nginx. Each Self world is running in a SELinux sandbox which allows it (hopefully!) only enough permissions to run and be a server on a TCP port.

Tieing all of this together is a first pass at Self-focused management software. Users can upload, run and connect to running Self worlds (command line only so far). Each world is given a port, if it runs a webserver on that port then it will be live at:

snapshotname.username.messaging.io

External domain names can then be aliased to these names. Eg, selflanguage.org is aliased to www.self.messaging.io (ie a snapshot called 'www' run by the 'self' user)

So in essence it is a very small Self cloud.

The management software at the moment is a few small python and bash scripts with < 1000 lines all up, and it doesn't scale beyond a single Linux VM.

You talk to it through a small python script called 'mio' which connects via XML-RPC over https.  I've put a sample session below.

I plan on making a couple more fixes/enhancements then maybe opening it up to people on this mailing list to play with if anyone's interested. 

Russell


Here is an example session:

> mio list
basic
> mio copy basic test
> mio list
basic
test
> mio wake test
> mio awake
test
> mio connect test
Connecting... (^c to disconnect)
for I386:  LogVMMessages = true
for I386:  PrintScriptName  = true
for I386:  Inline = true
for I386:  SICDeferUncommonBranches = false (not implemented)
for I386:  SICReplaceOnStack = false (not implemented)
for I386:  SaveOutgoingArgumentsOfPatchedFrames = true

	Welcome to the Self system!  (Version 4.4)


Copyright 1992-2011 AUTHORS.
See the legal/LICENSE file for license information and legal/AUTHORS for authors.

Type _Credits for full credits.

VM version: 4.1.13

"Self 35" 3 + 4
7
"Self 36" ^C
Disconnected
> mio tell test save
> mio sleep test
> mio awake
> mio list
basic
test
> mio delete test
> mio list
basic




More information about the Self-interest mailing list