No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
protwis_puppet_modules @ ce365f7

Production configuration for Protwis on linux servers using Puppet


Tested on Ubuntu 14.04 and CentOS 7 (may need tweaks for other systems).

WARNING: Running this script changes the configuration of your system and may override important settings, DO NOT run this on a production server without proper testing in a container or virtual machine.

Install Git and Puppet

Debian based systems (Debian, Ubuntu)

sudo apt-get -y install git puppet

RedHat based systems (RedHat, CentOS, Fedora)

sudo yum -y install epel-release git
sudo yum -y install puppet

Create and change to /protwis directory

sudo mkdir /protwis
sudo chown $USER /protwis
cd /protwis

Clone the protwis repository

git clone sites/protwis

Clone this repository and name it "conf" (the name is important)

git clone --recursive conf

Change to the cloned repo directory

cd conf

Run with Puppet

sudo puppet apply --modulepath protwis_puppet_modules manifests/default.pp

Security notice

Your server is now set up. If your server is exposed to the internet in any way, please apply the following changes in order the secure your server.

Change PostgreSQL default password

The default password for the PostgreSQL user "prowis" is "protwis". Choose a new password

psql -U protwis -h localhost protwis

Then update the password in /protwis/sites/protwis/protwis/

    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'protwis',
        'USER': 'protwis',
        'HOST': 'localhost',

Change the secret key in /protwis/sites/protwis/protwis/ to a random key

In /protwis/sites/protwis/protwis/

SECRET_KEY = 'a random key only you know'

Change the allowed hosts

In /protwis/sites/protwis/protwis/, change to allowed hosts to the hostname or IP address users will use to access the protwis instance. This could be a domain name like "" or an IP address like ""