# Requirements

These tools are required to work with the files in this repository. Install
them before continuing.

- closure-compiler (from google)
- python3
- stylus (CSS preprocessor)
- tidy (HTML cleanup tool)

# Installation

## Database (Fuseki)

1. Download `[apache-jena-X.Y.Z.tar.gz](http://archive.apache.org/dist/jena/binaries/)`
   and extract to `/opt/jena`
2. Download `[apache-jena-fuseki-X.Y.Z.tar.gz](http://archive.apache.org/dist/jena/binaries/)`
   and extract to `/opt/fuseki`
3. Copy the directory `fuseki/run` from this repository into `/opt/fuseki/run`
4. Follow the instructions in `fuseki.service` to install a systemd service
5. Optionally, you can add `/opt/jena/bin` and `/opt/fuseki/bin` to `$PATH`

## Website

1. Copy this repository into `/srv/dokk`
2. Create virtual environment for Python

    cd /srv/dokk
    virtualenv -p python3 venv
        -> if didn't work try: python3 -m venv venv
    source ./venv/bin/activate
    pip3 install -r requirements.txt

3. Build assets (CSS, JavaScript)

    make

4. Create a folder for storing uploaded files

    mkdir /srv/dokk-archive

5. Configure settings by editing `settings.ini`

6. Install a systemd service; follow the instructions in `dokk.service`.
   
   Or run a server directly

       # With gunicorn
       gunicorn --log-file - --config gunicorn.py dokk:application
       
       # Or with Python
       python3 -m bottle --debug --reload --bind 127.0.0.1:8080 dokk

# License

DOKK is free software released under the GNU Affero General Public License,
either version 3 or (at your option) any later version.
