aboutsummaryrefslogtreecommitdiff
blob: 3a3c22303e6e64cdc22e95f60be483cf682934f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
=====================
= Gentoaster README =
=====================

Foreword
=======
Right now I'm developing this on Ubuntu/Debian, so the following instructions are for those platforms. If you install the appropriate prerequisites, it will work on Gentoo too, of course.


Prerequisites
=============

php5-cli
php5-dev
php5-mysql
gearman-job-server
gearman-php-ext
qemu-utils
extlinux
sfdisk
git
websockify

There might be more, I'll update this list at some point. Install these as follows: sudo apt-get install php5-cli php5-dev php5-mysql gearman-job-server qemu-utils extlinux sfdisk git

The Gearman PHP extension has to be installed manually, as follows:

wget http://pecl.php.net/get/gearman-0.7.0.tgz
tar xvf gearman-0.7.0.tgz
cd gearman-0.7.0
phpize
./configure
make
sudo make install

Add "extension=gearman.so" to your php.ini (probably /etc/php5/cli/php.ini)

Websockify can be installed as follows:

cd /usr/share
git clone https://github.com/kanaka/websockify.git
ln -s /usr/share/websockify/websockify /usr/bin/websockify

Installation
============

cd /usr/share
git clone http://git.overlays.gentoo.org/gitroot/proj/gentoaster.git
Configure settings in config.php and web/config.php as appropriate
Run php5 install.php as root
Configure a webserver of your choice to server the web folder on the address you specified

Running
=======

The installer will start the daemon for you automatically, but if you need to do this yourself later, run the following as root:

/etc/init.d/gentoaster start

The daemon MUST be ran as root for it to work, otherwise all builds will fail.

Now that the daemon is running, you can try a build, using the sample client:

php5 /usr/share/gentoaster/client.php /usr/share/gentoaster/configs/minimal.ini

This will give you some output similar to the following:

Job sent, handle was H:lucidity:3 - hash 6085655f187a8442f82c43ebf98e5fdb

You can check on the status of that build by running the following:

php5 /usr/share/gentoaster/status.php <handle hash>

Where <handle hash> is the hash returned by client.php (for example 6085655f187a8442f82c43ebf98e5fdb)

If the build is still running, you'll get a progress percentage. If it's finished, the return code and result message will be shown.

If you've setup a webserver, you can also use the WebUI at the address you've configured