Skip to content
Sourcefabric's Live Blog is an open source web app that enables journalists to provide immediate and ongoing coverage on rapidly evolving news events.
JavaScript Python HTML CSS Gherkin Shell Other
Branch: master
Clone or download
Latest commit 199077d Aug 6, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
custom-post-types Update Sep 12, 2018
docker LBSD-2263 Moving back to use flow and oauth2 mode from yt Feb 22, 2019
docs Merge pull request #1235 from liveblog/apiary/amp-commenting Oct 1, 2018
scripts Fix elasticsearch for Travis CI builds (#913) Jul 14, 2017
server Merge remote-tracking branch 'origin/master' into release/3.6.6 Aug 6, 2019
AMAZON-S3-PUBLISHED-URL.MD Release v3.4.0 - Adjusting readme file to point to aws s3 additional … Jun 12, 2018 LICENCE and AUTHORS cleaned Feb 19, 2015
Dockerfile Remove reference to bower Jan 26, 2017
LICENSE Switch over project license to AGPLv3 Sep 17, 2015 LBSD-2054 Providing Live Blog readme file for Mac users Jan 23, 2018
Vagrantfile Typo Apr 4, 2017
apiary.apib Transferring API Description file from Sep 10, 2018
logging_travis_config.yml Release v3.4.4 - Improving loggers for travis-ci output Nov 23, 2018
monorepo.json feature: added monorepo. Mar 1, 2018


DownloadForkLicenseDocumentationVersion 3.6.6

Build Status


How to install Liveblog locally (recommended)

Here I'm assuming you are running Ubuntu Linux 16.04

Install the dependencies (for mac os users follow this)

First we need to install the necessary dependencies:

sudo apt-get install mongodb redis-server

We currently require a specific version of elastic search (not sure why we need that, but it might come in a handy later on):

wget -qO - | sudo apt-key add -
echo "deb stable main" | sudo tee --append /etc/apt/sources.list.d/elastic.list
sudo apt-get update
sudo apt-get install openjdk-8-jre elasticsearch

Remove the elasticsearch node discovery functionality:

echo " false" | sudo tee --append /etc/default/elasticsearch

Install Node.js LTS version:

curl -sL | sudo -E bash -
sudo apt-get install nodejs

Install the various Python requirements

sudo apt-get install \
python3 python3-dev python3-pip python3-lxml \
build-essential libffi-dev git \
libtiff5-dev libjpeg8-dev zlib1g-dev \
libfreetype6-dev liblcms2-dev libwebp-dev \
curl libfontconfig virtualenv libssl-dev

Install the required npm tools:

sudo npm install -g grunt-cli

Configure the server

Now we can create the python virtual environment and install the server dependencies:

cd server
virtualenv -p python3 env
source env/bin/activate
pip install --upgrade setuptools
pip install -r requirements.txt

Add the default data:

python3 app:initialize_data;
python3 users:create -u admin -p admin -e '' --admin ;
python3 register_local_themes ;

Still in the virtualenv, you can now start the server

honcho -f ../docker/Procfile-dev start

If you encounter any connection errors from elastic search:

elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.HTTPConnection object at 0x7f9434838358>: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x7f9434838358>: Failed to establish a new connection: [Errno 111] Connection refused)

You will need to restart and elasticsearch and wait 10 seconds before starting honcho.

sudo service elasticsearch restart
sleep 10
honcho -f ../docker/Procfile-dev start
In Live Blog version 3.4 we updated the Superdesk core libraries to a version higher than v1.8. If you plan to use Amazon S3 to store your assets, please check this information)

Configure the client

Now we can install the dependencies for the client

cd client
npm install

We can now run the client server:

grunt --force server --server='http://localhost:5000/api' --ws='ws://localhost:5100'

You can now access your local copy at http://localhost:9000 (user: admin, password: admin)

Docker Install

Use docker-compose and the config from docker folder or build docker images manually from the Dockerfile.

install docker
$ sudo apt-get install

and make sure you can run docker without sudo.

create python virtualenv
$ sudo apt-get install python-virtualenv
$ virtualenv env
install docker compose and run app
$ . env/bin/activate
$ pip install -r docker/requirements.txt
$ ./scripts/


How to run the behavior tests for the syndication feature:

cd server
behave --format progress2 --logging-level ERROR features/syndication.feature

Vagrant LXC Installation

Setting things up

This will only work on Linux

cd /tmp
wget -c
sudo dpkg -i vagrant_1.8.6_x86_64.deb
rm vagrant_1.8.6_x86_64.deb
vagrant plugin install vagrant-lxc

We need to create the configuration file for the frontend:

cd ~/code/liveblog
cp client/config.sample.js client/config.js

Start the virtual machine

cd ~/code/liveblog
sudo rm -rf client/data client/dist/* client/.tmp server/src
vagrant destroy
vagrant up
vagrant ssh

Once in the virtual machine:


Once the provisioning done will still in the virtual machine:



Run liveblog front end in production mode

cd client
grunt build --force
grunt connect:build

Update classic and angular theme

git subtree pull --prefix server/liveblog/themes/themes_assets/classic master --squash
git subtree pull --prefix server/liveblog/themes/themes_assets/angular master --squash
git subtree pull --prefix server/liveblog/themes/themes_assets/default master --squash
You can’t perform that action at this time.