Skip to content
Eric Pugh edited this page Apr 13, 2020 · 43 revisions

This page is for folks who don't want to use the hosted Quepid at http://www.quepid.com/.

This page is a work in progress, and is meant for use with Quepid 6.1.0 release and newer. Feedback appreciated!

Docker Compose based Install

Quepid can be deployed as several Docker containers. You can therefore deploy it on any Linux distribution that supports Docker. The target host requires Docker and Docker Compose to be installed.

Software

The following table lists the software versions that must be installed on the target host.

Software Version Description
Docker engine version 17.06.0-ce+ or higher For installation instructions, see docker engine doc
Docker Compose version 1.18.0 or higher For installation instructions, see docker compose doc

Network ports

Quepid requires that the following ports be open on the target host.

Port Protocol Description
80 HTTP Quepid app and core API accept HTTP requests on this port. You can change this port in the docker-compose.yml file.

Installation Procedure

The installation procedure involves the following steps:

  1. Download the production docker-compose.prod.yml template file via wget https://raw.githubusercontent.com/o19s/quepid/master/docker-compose.prod.yml -O docker-compose.yml
  2. Configure the docker-compose.yml file to customize the settings for your production environment.
  3. Run docker-compose pull to download all images required.
  4. Run docker-compose up -d redis mysql to start the dependencies. Count to 10 to give them a chance to fire up!
  5. Run docker-compose run --rm app bin/rake db:setup to setup an empty database with the schema.
  6. Run docker-compose up -d to start Quepid app.
  7. Browse to your server, i.e http://yourserver/ and after around 30 seconds on the first request you will be taken to the login screen.

Create your Administrator user

Various functions of Quepid, such as setting default scorers, or looking at user data are only available to users who are marked as Administrator. When you first set up Quepid you don't have a Administrator. To create a new administrator from scratch run:

docker-compose exec app thor user:create -a admin@example.com Administrator mysuperstrongpassword

This user then can grant administrator privileges through the Quepid app.

If you have an existing account that you want to make administrator, run:

docker-compose exec app thor user:grant_administrator admin@example.com 

Managing Quepid Lifecycle

You can use docker-compose to manage the lifecycle of Quepid. Some useful commands are listed below. You must run the commands in the same directory as docker-compose.prod.yml.

Stop Quepid:

$ docker-compose stop
Stopping quepid_prod_app   ... done
Stopping quepid_prod_db    ... done
Stopping quepid_prod_redis ... done

Restart Quepid after Stopping:

$ docker-compose start
Starting mysql ... done
Starting redis ... done
Starting app   ... done

Updating Quepid

To update Quepid, stop the existing Quepid instance and review the current docker-compose.prod.yml file in Github compared to your local docker-compose.yml. Then run some database migration tasks:

$ docker-compose down
$ vim docker-compose.yml
$ docker-compose run --rm app bin/rake db:migrate
$ docker-compose run --rm app bin/rake db:seed
$ docker-compose up -d

Quepid using WSL and Docker on Windows 10

It is possible to run this setup, but it is important to shutdown docker properly before exiting WSl shell using:

$ docker-compose down

In case you forgot to shutdown properly, the Quepid DB has been deleted. To reinstall the DB run:

$ docker-compose run --rm app bin/rake db:setup
$ docker-compose up -d

Other Commands

Stop Quepid AND remove Quepid's database files on the file system:

$ docker-compose down
$ rm -r ./volumes/mysql_data

** Warning you will lose your data!!! **