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 organizations 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 customizable 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.
You need to create a folder where you want your project to be situated. Let’s say, superdesk.
$ mkdir superdesk
$ cd superdesk
superdesk$ nano docker-compose.yml
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
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.
superdesk$ ls
docker-compose.yml
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.
superdesk$ docker-compose up
Once docker is up and running, you can verify the installation in your browser. Open any browser, and go to
You can see login screen, something like this:
You will need to run some more commands to be able to login into superdesk.
This will initialise some useful data required by the project.
superdesk$ docker-compose run superdesk-server run python manage.py
app:initialize_data
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
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 .