Skip to main content
Version: 1.50.0

Quick install

Installing for testing (or production)​

Prerequisites​

(Linux) Install Docker and docker-compose.
(Windows) Install Docker for Windows.

Installation​

This docker-compose file automates the basic setup of the Sofie-Core application, the backend database and different Gateway options.

# This is NOT recommended to be used for a production deployment.
# It aims to quickly get an evaluation version of Sofie running and serve as a basis for how to set up a production deployment.
version: '3.3'
services:
db:
hostname: mongo
image: mongo:4.2.18
restart: always
entrypoint: ['/usr/bin/mongod', '--replSet', 'rs0', '--bind_ip_all']
# the healthcheck avoids the need to initiate the replica set
healthcheck:
test: test $$(echo "rs.initiate().ok || rs.status().ok" | mongo --quiet) -eq 1
interval: 10s
start_period: 30s
ports:
- '27017:27017'
volumes:
- db-data:/data/db
networks:
- sofie

core:
hostname: core
image: sofietv/tv-automation-server-core:release37
restart: always
ports:
- '3000:3000' # Same port as meteor uses by default
environment:
PORT: '3000'
MONGO_URL: 'mongodb://db:27017/meteor'
MONGO_OPLOG_URL: 'mongodb://db:27017/local'
ROOT_URL: 'http://localhost:3000'
SOFIE_STORE_PATH: '/mnt/sofie-store'
networks:
- sofie
volumes:
- sofie-store:/mnt/sofie-store
depends_on:
- db

playout-gateway:
image: sofietv/tv-automation-playout-gateway:release37
restart: always
command: yarn start -host core -port 3000 -id playoutGateway0
networks:
- sofie
- lan_access
depends_on:
- core

# Choose one of the following images, depending on which type of ingest gateway is wanted.
# If using the Rundown Editor, then none of the below images are needed.
# The Rundown Editor can be found here: https://github.com/SuperFlyTV/sofie-automation-rundown-editor

# spreadsheet-gateway:
# image: superflytv/sofie-spreadsheet-gateway:latest
# restart: always
# command: yarn start -host core -port 3000 -id spreadsheetGateway0
# networks:
# - sofie
# depends_on:
# - core

# mos-gateway:
# image: sofietv/tv-automation-mos-gateway:release37
# restart: always
# ports:
# - "10540:10540" # MOS Lower port
# - "10541:10541" # MOS Upper port
# # - "10542:10542" # MOS query port - not used
# command: yarn start -host core -port 3000 -id mosGateway0
# networks:
# - sofie
# depends_on:
# - core

# inews-gateway:
# image: tv2media/inews-ftp-gateway:1.37.0-in-testing.20
# restart: always
# command: yarn start -host core -port 3000 -id inewsGateway0
# networks:
# - sofie
# depends_on:
# - core

networks:
sofie:
lan_access:
driver: bridge

volumes:
db-data:
sofie-store:

Create a Sofie folder, copy the above content, and save it as docker-compose.yaml within the Sofie folder.

Navigate to the ingest-gateway section of docker-compose.yaml and select which type of ingest-gateway you'd like installed by uncommenting it. Save your changes. If you are using the Rundown Editor, then no ingest gateways need to be uncommented.

Then open a terminal, cd your-sofie-folder and sudo docker-compose up (just docker-compose up on Windows).

Once the installation is done, Sofie should be running on http://localhost:3000

Next, you will need to install a Rundown Gateway. Visit Rundowns & Newsroom Systems to see which Rundown Gateway is best suited for your production environment.

Tips for running in production​

There are some things not covered in this guide needed to run Sofie in a production environment:

  • Logging: Collect, store and track error messages. Kibana and logstash is one way to do it.
  • NGINX: It is customary to put a load-balancer in front of Sofie Core.
  • Memory and CPU usage monitoring.

Installing for Development​

Installation instructions for installing Sofie-Core or the various gateways are available in the README file in their respective github repos.

Common prerequisites are Node.js and Yarn.
Links to the repos are listed at Applications & Libraries.

Sofie Core GitHub Page for Developers