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
- Select HTTP as the traffic type
- Set the internal port to 5050 (client interface)
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 5000EXPOSE 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:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
MONGO_URI | Your MongoDB connection string |
ELASTICSEARCH_URL | Your Elasticsearch URL |
REDIS_URL | Your Redis connection string |
SECRET_KEY | Generate with openssl rand -hex 32 |
DEFAULT_TIMEZONE | Your preferred timezone |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/lib/superdesk | 50 GB | Media 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:
- Access the application
- Use the setup wizard to create the initial administrator account
- 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:
- Navigate to Settings > Publish
- Add subscriber endpoints for your websites and apps
- Configure content delivery formats
Additional Resources
- Superdesk Official Website
- Superdesk GitHub Repository
- Superdesk Documentation
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
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.