Skip to main content
Version: Latest

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:6.0
restart: always
entrypoint: ['/usr/bin/mongod', '--replSet', 'rs0', '--bind_ip_all']
# the healthcheck avoids the need to initiate the replica set
healthcheck:
test: test $$(mongosh --quiet --eval "try {rs.initiate()} catch(e) {rs.status().ok}") -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:release51
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:release51
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:release51
# 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