Skip to content
Jens Reimann edited this page May 27, 2015 · 24 revisions

Install Database

Note: It is recommended to use PostgreSQL as a database backend.

The installation for the databases is in its own pages:

Login in as "admin"

Direct your browser to http://localhost:8080/. Unless the database connection is already configured, this will always redirect to you the setup page. It will explain you in short detail what has to be done in order to setup up your package drone instance. The following sections describe it in more detail.

The first step is to log in as "admin". Since there is currently no database configured, also the user service is not able to work and authenticate you.

In order to not just open the application to any user hitting the URL, package drone has a default user called "admin" (the name can be changed and the user be disabled later), which has full administration privileges.

The password of the admin user is created when the system starts up. It is printed out on the console and written to a file in the file system. Name of the file is ~/.drone-admin-token. When you install Package Drone using the .deb or .rpm packages, the username is pdrone. So the file will be ~pdrone/.drone-admin-token if you want to access the token being a different user.

Note: The character ~ represents the "home directory" of a user in Unix/Linux.

Configure the database connection

Select the JDBC driver you which to use.

Enter the database URI, username and password and save the information. For this example the database URI would be jdbc:mysql://localhost/pd (if you are using postgresql, this would be jdbc:postgresql://localhost/pd).

Once the correct information was saved, the navigation menu will show additional menu entry and will no longer redirect you to the setup page.

Create or upgrade the database structure

If you need to create of upgrade the database structure you will get an button for that on the right side, after successfully entering the database credentials. Press the button "Install" or "Upgrade" to perform this task.

Note: Before doing things like this, it is best to have a backup of your data ready!

Note: If you need to create the database schema manually, execute the file create.sql using the mysql command line tool.

Setting up the mail service

Since version 0.0.8, Package Drone can send out e-mails. In order to trigger a password reset, or verify the e-mail of a user who is registering with package drone.

In order to do this, package drone needs an SMTP server which actually delivers those e-mails. This can be any SMTP server, either local or remote. However the mail server must allow you to relay messages, not all SMTP server configurations allow this.

After setting up the database link, go to "Administration" -> "Mail" and enter your SMTP connectivity information (host, username, password, etc...). When the service is configured, you can also try and send a test mail.

Create a "manager" user

Currently Package Drone has a rather limited role based security concept. There are two types of roles:

ADMIN
A role which allows the user to configure the system internals and create and modify users.
MANAGER
A role which allows the user to configure and manipulate channels, artifacts and related configuration.

The internal admin account does not have the MANAGER role. So you will need to create at least one user. The admin user can create an additional user and grant the MANAGER role.

Also can the admin user configure if the self-registration process is enabled or not. However, self-registered users do not have any role set. And any user with the ADMIN role can grant them MANAGER access.

So in order to have a user which can work with Package Drone, you have to create a user and assign the MANAGER role. Otherwise you will not be able to create channels or configure artifact related settings.

In order to assign the MANAGER or ADMIN role edit the user details. Enter the role name (case sensitive) into the entry box and press the + (plus) button. Save the changes afterwards by pressing "Submit".

Creating channels

See Using.