1. Database

Before we can start installing dino the database needs to be prepared. There are no special requrements so any database supported by django may be used. Official support is given for SQLite, PostgreSQL and MySQL/MariaDB.

With the exception of SQLite these instructions assume that your database system was installed, intialized, correctly configured and started and only deals with aspects relevant to our setup.

1.1. SQLite

By default dino uses a SQLite database, which is just a file on your disk. In this case, no configuration is necessary. Please keep in mind that, while being a capable database, SQLite does not scale well and has weaker guarantees than server-based database solutions like PostgreSQL.

1.2. PostgreSQL

The Wikipedia describes PostgreSQL as:

(…) an open source object-relational database management system with an emphasis on extensibility and standards compliance.

Create a new user and database for dino:

postgres@host:~$ createuser dino -P
Enter password for new role: ******
Enter it again: ******
postgres@host:~$ createdb dino --owner=dino

Note

If dino and PostgreSQL are running on the same host, your setup can be password-less using a UNIX socket connection and Peer Authentication. Skip the -P parameter in this case.

1.3. MySQL / MariaDB

MariaDB describes itself as:

(…) one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users include Wikipedia, WordPress.com and Google.

Create a new user and database for dino:

root@host:~# mysql
mysql> CREATE DATABASE dino DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
mysql> GRANT ALL PRIVILEGES ON dino.* TO dino@'localhost' IDENTIFIED BY '*********';
mysql> FLUSH PRIVILEGES;