Superdesk blog

 Superdesk and its Installation

What is Superdesk ?

Superdesk is a state-of-the-art digital newsroom system. It combines headless CMS functionality with powerful workflow features for an end-to-end news creation, production, curation and distribution platform. Built alongside journalists in the newsroom, it has a modular, API-centric design that enables news organisations to add and adapt the functionality most relevant to their business. Superdesk is open-source web-based newsroom software that integrates easily with legacy systems as well as third-party applications. Today, in the work-from-home era, newsrooms can take advantage of Superdesk’s secure authentication options and customisable access for freelancers.

Newsrooms  are the area in a newspaper or broadcasting office where news is processed. And superdesk basically is used to manage newsroom workflows.

Installing Superdesk:

Prerequisites:

  1. You need to create a folder where you want your project to be situated. Let’s say, superdesk.
$ mkdir superdesk
  1. Then you need to create  a .yml file inside that folder and paste these lines of code in that file. You can do this using the nano text editor in linux.
$ cd superdesk
superdesk$ nano docker-compose.yml
  1. This will open an editor inside the terminal, you need to paste these lines in the editor.
version: “3.2”
services:

  mongodb:
    image: mongo:4
    networks:
      – superdesk

  redis:
    image: redis:3
    networks:
      – superdesk

  elastic:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
    environment:
      – discovery.type=single-node
    networks:
      – superdesk

  superdesk-server:
    image: sourcefabricoss/superdesk-server:latest
    depends_on:
      – redis
      – mongodb
      – elastic
    environment:
      – SUPERDESK_URL=http://localhost:8080/api
      – DEMO_DATA=1 # install demo data, set to 0 if you want clean install
      – WEB_CONCURRENCY=2
      – SUPERDESK_CLIENT_URL=http://localhost:8080
      – CONTENTAPI_URL=http://localhost:8080/capi
      – MONGO_URI=mongodb://mongodb/superdesk
      – CONTENTAPI_MONGO_URI=mongodb://mongodb/superdesk_capi
      – PUBLICAPI_MONGO_URI=mongodb://mongodb/superdesk_papi
      – LEGAL_ARCHIVE_URI=mongodb://mongodb/superdesk_legal
      – ARCHIVED_URI=mongodb://mongodb/superdesk_archive
      – ELASTICSEARCH_URL=http://elastic:9200
      – ELASTICSEARCH_INDEX=superdesk
      – CELERY_BROKER_URL=redis://redis:6379/1
      – REDIS_URL=redis://redis:6379/1
      – DEFAULT_TIMEZONE=Europe/Prague
      – SECRET_KEY=*k^&9)byk=8en9n1sg7-xj4f8wr2mh^x#t%_2=1=z@69oxt50!
      # More configuration options can be found at https://superdesk.readthedocs.io/en/latest/settings.html
    networks:
      – superdesk

  superdesk-client:
    image: sourcefabricoss/superdesk-client:latest
    environment:
      # If not hosting on localhost, change these lines
      – SUPERDESK_URL=http://localhost:8080/api
      – SUPERDESK_WS_URL=ws://localhost:8080/ws
      – IFRAMELY_KEY
    depends_on:
      – superdesk-server
    ports:
      – “8080:80”
    networks:
      – superdesk

networks:
    superdesk:
        driver: bridge
  1. Save using ctrl + o. And later exit using ctrl + x. You also need to make sure that the code is copied as it is, without any change in the indentation, since that could lead to errors. Below is attached a screenshot of the same.
  1. To verify that the file is inside the folder you can run ls command inside superdesk folder. You will be able to see the docker-compose.yml file.
superdesk$ ls
docker-compose.yml
  1. Then after saving this file inside the superdesk folder, you will need to run docker compose up command in the terminal under the same folder. This will download Superdesk’s server, client, and dependencies, and run them. Give the configuration setup 2-3 minutes to complete.
  • Important: You must have Docker installed and running for this command to work.
superdesk$ docker-compose up
  1. Once docker is up and running, you can verify the installation in your browser. Open any browser, and go to http://localhost:8080.

You can see login screen, something like this,

Superdesk Login Page
Superdesk Login Page
  1. You will need to run some more commands to be able to login into superdesk.
    1. This will initialise some useful data required by the project.
superdesk$ docker-compose run superdesk-server run python manage.py app:initialize_data
  1. This will create a superuser that could be used to login into superdesk. With username being “admin“ and password being “admin”.
superdesk$ docker-compose run superdesk-server run python manage.py users:create -u admin -p admin -e admin@localhost –admin
  1. After completing these steps successfully, you can now return to your browser and login with the credentials, username: “admin” and password: “admin”.

You are ready to dive into the world of the newsrooms.

Reference: 

About the author :

Shivam Singh
Python Developer at Hashtrust Technologies

That’s it for now! I hope you find the article helpful. Thanks for reading. Follow our page for future updates .

Leave a Comment

Your email address will not be published.