Giter VIP home page Giter VIP logo

Superdesk

Test Lint

Superdesk is an open source end-to-end news creation, production, curation, distribution and publishing platform developed and maintained by Sourcefabric with the sole purpose of making the best possible software for journalism. It is scaleable to suit news organizations of any size. See the Superdesk website for more information.

Looking to stay up to date on the latest news? Subscribe to our monthly newsletter.

The Superdesk server provides the API to process all client requests. The client provides the user interface. Server and client are separate applications using different technologies.

Find more information about the client configuration in the README file of the repo: github.com/superdesk/superdesk-client-core

Run Superdesk locally using Docker

You can start superdesk using the docker-compose.yml file:

$ docker-compose up -d

This will start superdesk on http://localhost:8080. On the first run you also have to initialize elastic/mongo and create a user:

# Initialize data
$ docker-compose run superdesk-server run python manage.py app:initialize_data
# Create first admin user
$ docker-compose run superdesk-server run python manage.py users:create -u admin -p admin -e admin@localhost --admin

Then you can login with admin:admin credentials.

The Docker images are hosted on Dockerhub for the client and server.

Manual installation

Requirements

These services must be installed, configured and running:

  • MongoDB
  • ElasticSearch (7.x)
  • Redis
  • Python (>= 3.6)
  • Node.js (with npm)

On macOS, if you have homebrew installed, simply run: brew install mongodb elasticsearch redis python3 node.

Installation steps:

path=~/superdesk
git clone https://github.com/superdesk/superdesk.git $path

# server
cd $path/server
pip3 install -r requirements.txt
python3 manage.py app:initialize_data
python3 manage.py users:create -u admin -p admin -e '[email protected]' --admin
honcho start
# if you need some data
python manage.py app:prepopulate

# client
cd $path/client
npm install
npm run build
npx grunt server

# open http://localhost:9000 in browser

⚠️ macOS users

All the above commands need to run inside the Python Virtual Environment, which you can create using the pyvenv command:

  • Run pyvenv ~/pyvenv to create the files needed to start an environment in the directory ~/pyvenv.
  • Run . ~/pyvenv/bin/activate to start the virtual environment in the current terminal session.

Now you may run the installation steps from above.

Questions and issues

  • Our issue tracker is only for bug reports and feature requests.
  • Anything else, such as questions or general feedback, should be posted in the forum.

A special thanks to...

Users, developers and development partners that have contributed to the Superdesk project. Also, to all the other amazing open-source projects that make Superdesk possible!

License

Superdesk is available under the AGPL version 3 open source license.

Superdesk's Projects

angular-embed icon angular-embed

library wrapping the embed services from NoEmbed and Embed.ly.

docs-soap icon docs-soap

Library to clean up the clipboard contents generated by google docs

draft-js icon draft-js

A React framework for building text editors.

eve icon eve

REST API framework powered by Flask, MongoDB and good intentions

eve-api icon eve-api

Angular resource service optimised for Python Eve backends

exif icon exif

Reads Files Metadata In The Browser.

gridster.js icon gridster.js

gridster.js is a jQuery plugin that makes building intuitive draggable layouts from elements spanning multiple columns

htmldiff-js icon htmldiff-js

JavaScript port of htmldiff.net (http://github.com/Rohland/htmldiff.net)

immutable-js icon immutable-js

Immutable persistent data collections for Javascript which increase efficiency and simplicity.

medium-editor icon medium-editor

Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.