diff --git a/doc/manual/Makefile b/doc/manual/Makefile
new file mode 100644
index 00000000..307a488c
--- /dev/null
+++ b/doc/manual/Makefile
@@ -0,0 +1,9 @@
+DOCBOOK_FILES = installation.xml introduction.xml manual.xml
+
+dblatex_opts = \
+ -P doc.collab.show=0 \
+ -P latex.output.revhistory=0
+
+manual.pdf : $(DOCBOOK_FILES)
+ dblatex $(dblatex_opts) manual.xml
+
diff --git a/doc/manual/installation.xml b/doc/manual/installation.xml
new file mode 100644
index 00000000..ce901b6d
--- /dev/null
+++ b/doc/manual/installation.xml
@@ -0,0 +1,97 @@
+
+
+ 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 database
+
+ Hydra stores its results in a PostgreSQL database. To setup a database with hydra as database name and username, 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.
+
+
+ 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
+
+ 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, 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.
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/manual/introduction.xml b/doc/manual/introduction.xml
new file mode 100644
index 00000000..ca14b6ad
--- /dev/null
+++ b/doc/manual/introduction.xml
@@ -0,0 +1,7 @@
+
+
+Introduction
+
+