Skip to content

Deploying Superdesk

Introduction

Superdesk is a state-of-the-art, open-source newsroom management system developed by Sourcefabric. It provides a complete end-to-end workflow for news production, from content creation through editorial review to multi-channel publishing.

Key highlights of Superdesk:

  • Editorial Workflow: Complete content lifecycle management from draft to publication
  • Multi-Channel Publishing: Publish to web, mobile, print, and social media from a single platform
  • Real-Time Collaboration: Multiple editors can work on content simultaneously
  • News Agency Integration: Support for IPTC NewsML-G2 and other industry standards
  • Content Planning: Editorial calendar and story assignment tools
  • Rich Media Support: Manage images, video, and audio assets
  • Customizable Desks: Create specialized workspaces for different teams
  • API-First Design: Comprehensive REST API for integrations
  • Multilingual Support: Built-in support for multiple languages

This guide walks through deploying Superdesk on Klutch.sh using Docker.

Why Deploy Superdesk on Klutch.sh

Deploying Superdesk on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Superdesk without complex orchestration.

Persistent Storage: Attach persistent volumes for content, media assets, and databases.

HTTPS by Default: Secure access for your editorial team from anywhere.

GitHub Integration: Connect your configuration repository for automatic redeployments.

Prerequisites

Before deploying Superdesk on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your Superdesk configuration
  • Basic familiarity with Docker and containerization concepts
  • MongoDB, Elasticsearch, and Redis instances (can be deployed on Klutch.sh)

Deploying Superdesk on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for Superdesk:

    FROM sourcefabric/superdesk:latest
    ENV MONGO_URI=${MONGO_URI}
    ENV ELASTICSEARCH_URL=${ELASTICSEARCH_URL}
    ENV REDIS_URL=${REDIS_URL}
    ENV SECRET_KEY=${SECRET_KEY}
    ENV DEFAULT_TIMEZONE=UTC
    EXPOSE 5000
    EXPOSE 5050
    VOLUME ["/var/lib/superdesk"]

    Push to GitHub

    Initialize and push your repository to GitHub with your Dockerfile.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create a New App

    Within your project, create a new app and connect your GitHub repository.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 5050 (client interface)

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    MONGO_URIYour MongoDB connection string
    ELASTICSEARCH_URLYour Elasticsearch URL
    REDIS_URLYour Redis connection string
    SECRET_KEYGenerate with openssl rand -hex 32
    DEFAULT_TIMEZONEYour preferred timezone

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /var/lib/superdesk50 GBMedia assets and uploads

    Deploy Your Application

    Click Deploy to start the build process.

    Access Superdesk

    Once deployment completes, access the Superdesk client at your app URL.

Configuration

Initial Setup

After deployment, create your first admin user:

  1. Access the application
  2. Use the setup wizard to create the initial administrator account
  3. Configure your first desk and user roles

Creating Desks

Desks are specialized workspaces for different editorial teams:

  • News Desk: Breaking news and current events
  • Sports Desk: Sports coverage
  • Features Desk: Long-form content
  • Photo Desk: Image curation and management

Publishing Channels

Configure publishing destinations:

  1. Navigate to Settings > Publish
  2. Add subscriber endpoints for your websites and apps
  3. Configure content delivery formats

Additional Resources

Conclusion

Deploying Superdesk on Klutch.sh gives you a professional newsroom management system with automatic builds, persistent storage, and secure HTTPS access. Manage your entire editorial workflow from content creation to multi-channel publishing.