Basic Setup

Virtualenv Setup

Before you can start, you need to create a virtualenv. You can install the virtualenvwrapper with your package manager or via pip. Be sure that pip is installed. If you don’t know how to install pip, have a look at their documentation.

For example, on archlinux you can install it with

$ sudo pacman -S python2-virtualenvwrapper

or, if you own a Mac, you can simply install it with

$ sudo pip install virtualenvwrapper

For more information checkout the virtualenvwrapper installation.

After that you can create your virtualenv with

$ mkvirtualenv -a /path/to/flaskbb -p $(which python2) flaskbb

and you should be switched automatically to your newly created virtualenv. To deactivate it you just have to type deactivate and if you want to work on it again, you need to type workon flaskbb.

Required Dependencies

Now you can install the required dependencies.

$ pip install -r requirements.txt

Optional Dependencies

We have one optional dependency, redis (the python package is installed automatically). If you want to use it, be sure that a redis-server is running. If you decide to use redis, the online guests and online users are being tracked by redis, else it will only track the online users via a simple SQL query.

On Archlinux

# Install redis
$ sudo pacman -S redis

# Check if redis is already running.
$ systemctl status redis

# If not, start it.
$ sudo systemctl start redis

# Optional: Start redis everytime you boot your machine
$ sudo systemctl enable redis

On Debian 7.0 (Wheezy)

# Install redis
$ sudo apt-get install redis-server

# Check if redis is already running.
$ service redis-server status

# If not, start it
$ sudo service redis-server start

# Optional: Start redis everytime you boot your machine
# I can't remember if this is done automatically..
$ sudo update-rc.d redis-server defaults

Configuration

Before you can start, you need to configure FlaskBB.

Development

For development, you need to copy flaskbb/configs/development.py.example to flaskbb/configs/development.py.

cp flaskbb/configs/development.py.example flaskbb/configs/development.py

The reCAPTCHA keys should work fine on localhost. If you don’t want to use Google Mail, see Mail Examples for more options.

Production

If you plan, to use FlaskBB in a production environment (not recommended at the moment, because it’s still in development), you need to copy flaskbb/configs/production.py.example to flaskbb/configs/production.py.

cp flaskbb/configs/production.py.example flaskbb/configs/production.py

Now open flaskbb/configs/production.py with your favourite editor and adjust the config variables to your needs. If you don’t want to use Google Mail, see Mail Examples for more options.

Mail Examples

Google Mail

MAIL_SERVER = "smtp.gmail.com"
MAIL_PORT = 465
MAIL_USE_SSL = True
MAIL_USERNAME = "your_username@gmail.com"
MAIL_PASSWORD = "your_password"
MAIL_DEFAULT_SENDER = ("Your Name", "your_username@gmail.com")
# Where to logger should send the emails to
ADMINS = ["your_admin_user@gmail.com"]

Local SMTP Server

MAIL_SERVER = "localhost"
MAIL_PORT = 25
MAIL_USE_SSL = False
MAIL_USERNAME = ""
MAIL_PASSWORD = ""
MAIL_DEFAULT_SENDER = "noreply@example.org"
# Where to logger should send the emails to
ADMINS = ["your_admin_user@example.org"]

Installation

Now, you should be able to install FlaskBB and can run therefore

python manage.py initflaskbb

Here you are asked about what your username is, which email adress you use and last but not least, which password your admin user has (please choose a secure one).

To test if everything worked, run the development server with python manage.py runserver.

Deploying

Supervisor

uWSGI

nginx