# QuasselCore on Debian 11 - Trent's Blog
Trent's blog of mostly technical documentations.

Skip to content

# QuasselCore on Debian 11

date: 2022-02-13

## Introduction

After discovering how amazing wireguard vpn is on Android, I decided to move my quasselcore server off of Ramnode, where I was securing it with LetsEncrypt Certs, and instead run it on a double-natted kvm host on my home server where I could give it more ram and cpu, and back up the entire vm image to my backup-backup server using syncoid and zfs snapshots.

But there are a few little niggles, so I am writing it down.

## Install Packages

    apt install postgresql postgresql-contrib quasselcore libqt5sql5-psql apparmor-utils

### stop quasselcore

    systemctl stop quasselcore

### allow quasselcore in apparmor

so quasselcore user can read it's own configuration directory

    aa-complain /usr/bin/quasselcore
    systemctl restart apparmor

### postgresql socket connection

If you want to use Postgresql socket connection because why wouldn't you, allow md5 authentication in `pg_hba.conf`

    # /etc/postgresql/13/main/pg_hba.conf
    local   quassel         quassel                                 md5

    systemctl restart postgresql

## Copy the Postgresql Database

### dump database on old/previous server

    pg_dump -d quassel -f quasseldb.sql

### create database on new server

    postgres# CREATE USER quassel;
    postgres# \password quassel
    postgres# CREATE DATABASE quassel WITH OWNER quassel;

### import database on new server

    psql -d quassel -f quasseldb.sql

## Configure QuasselCore

    sudo quasselcore --configdir=/var/lib/quassel --select-backend=Postgresql

When prompted for postgresql host, you can use `/var/run/postgresql` if you want to use unix-socket.

Before starting quasselcore, make sure that all the files in `/var/lib/quassel` are owned by quasselcore:quassel, and they might not be.

For other `quasselcore` options you can type `quasselcore -h`, but I chose to use ufw to restrict the client port to the wireguard interface.

    ufw allow in on wg1 to any port 4242

## Connect

To connect to your new `quasselcore`, open quassel client or quasseldroid and simply change the host name.