Installation
Prerequisites
To install and use Hydra you need to have installed the following dependencies:
Nix
PostgreSQL
At the moment, Hydra runs only on 32 bit and 64 bit Linux (i686-linux and x86_64_linux).
Installation
Hydra can be installed by visiting the URL,
http://hydra.nixos.org/view/hydra/unstable
and use the one-click install available at one of the build pages. You could also
install Hydra through the channel by performing the following commands:
nix-channel --add http://hydra.nixos.org/jobset/hydra/trunk/channel/latest
nix-channel --update
nix-env -i hydra
Creating the database
Hydra stores its results in a database, which can be a
PostgreSQL or SQLite database. The latter is easier to
setup, but the former scales better.
To setup a PostgreSQL
database with hydra as database name
and user name, issue the following commands:
createdb hydra
echo "CREATE USER hydra WITH PASSWORD '<your-password>' ;" | psql hydra
cat $prefix/share/hydra/sql/hydra-postgresql.sql | psql hydra
echo "GRANT ALL ON DATABASE hydra TO hydra;" | psql hydra
Note that $prefix is the location of
Hydra in the nix store.
For SQLite, the following command is all it takes to
create the database:
cat $prefix/share/hydra/sql/hydra-sqlite.sql | sqlite3 /path/to/hydra.sqlite
To add a user root with admin privileges, execute:
echo "INSERT INTO Users(userName, emailAddress, password) VALUES ('root', 'some@email.adress.com', '$(echo -n foobar | sha1sum | cut -c1-40)');" | psql hydra
echo "INSERT INTO UserRoles(userName, role) values('root', 'admin');" | psql hydra
For SQLite the same commands can be used, with
psql hydra replaced by
sqlite3 /path/to/hydra.sqlite.
Hydra uses an environment variable to know which database
should be used, and a variable which point to a location
that holds some state. To set these variables for a
PostgreSQL database, add the following to the
.profile of the user running the
Hydra services.
export HYDRA_DBI="dbi:Pg:dbname=hydra;host=localhost;"
export HYDRA_DATA=/var/lib/hydra
Make sure that the HYDRA_DATA
directory exists and is writable for the user which will
run the Hydra services. For a SQLite database, the
HYDRA_DBI should be set to something
like dbi:SQLite:/path/to/hydra.sqlite
Getting started
To start the Hydra webserver, execute:
hydra_server.pl
When the server is started, you can browse to http://localhost:3000/ to start configuring your Hydra instance.
Example: PatchELF
Defining jobsets
Creating views