clone of github.com/decent-newsroom/newsroom
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Nuša Pukšič fc64e29824 Secrets no longer used 1 week ago
assets Editor: revive publishing 1 week ago
bin Local relay 1 month ago
config Longer session lifetime 1 week ago
docker Rewire cache and sync 1 month ago
docs Symfony from dunglas/symfony-docker 1 year ago
documentation NIP-05 3 months ago
frankenphp Local relay 2 months ago
migrations Remove obsolete NZine setup 3 weeks ago
public Publishing 3 months ago
src Show latest 1 week ago
templates Editor: revive publishing 1 week ago
tests Tests 1 month ago
translations NIP-05 3 months ago
.dockerignore Symfony from dunglas/symfony-docker 1 year ago
.editorconfig Symfony from dunglas/symfony-docker 1 year ago
.env.dist Move stimulus controllers around, ES feature flag 1 month ago
.env.test Tests, security 3 months ago
.gitattributes Symfony from dunglas/symfony-docker 1 year ago
.gitignore Highlights 1 month ago
Dockerfile Local relay 1 month ago
LICENSE Update copyright year in LICENSE file 4 months ago
Makefile Local relay 2 months ago
README.md Secrets no longer used 1 week ago
asset_map_compile.sh Script to Compile Asset Map for Deployment 7 months ago
compose.override.yaml Restart db 7 months ago
compose.prod.yaml Fix prod 3 months ago
compose.yaml Faster page loads with smarter caching 1 month ago
composer.json Update 3 weeks ago
composer.lock Update 3 weeks ago
importmap.php Editor: sync across panels, syntax highlighting 2 weeks ago
package.json Quill editor basics 1 year ago
phpunit.xml.dist Authenticate user with a NostrSigner. Prep for long form articles. 1 year ago
symfony.lock Update 3 weeks ago
sync-strfry.sh Cache, routes and such 1 month ago

README.md

Decent Newsroom

Intro

Decentralised Newsroom is a platform for the creation, publishing, and discovery of mixed-media collaborative journals.

Newsrooms used to be at the heart of journals and media houses, but they deteriorated when their business models started to fail. This project is a decentralised digital alternative.

A lot of talented creators have found their opportunity in the handful of platforms available, but there is synergy in collaboration that has been lost in the transition.

Let's bring back high-value professional journalism and collaborative publishing.

Constituent parts

This project has multiple facets that build on each other, making the whole more than the sum of its parts.

Reader

A traditional newspaper lookalike made up of multiple individual journals. Logged-in users can pick and choose which journals they read and subscribe to, while passers-by can browse the default public ones.

Article Editor

A content editor interface for writing essays, articles, and more. Featuring preview mode, saved drafts and personal notes.

Media Manager

In the current digital landscape, media content and written word have been driven apart, and it's time to bring them closer together again. The media manager is a place to create and share your own media library.

Marketplace

A marketplace for requesting custom-made media (photographs, graphics, data visualizations, animations, audio, video...), science review, contacts, etc. or for publishing art and stock images to make them available and discoverable to be included in the journals.

Newsroom

A content management system for creating and updating journals and managing subscriptions.

Silk Search and Index

An integrated service that provides on-demand indexing and search.

Setup

Clone the repository

git clone https://github.com/decent-newsroom/newsroom.git
cd newsroom

Create the .env file

Copy the example file .env.dist and replace placeholders with your actual configuration.

Nostr Relay

The project includes a private read-only Nostr relay (powered by strfry) that acts as a local cache for long-form articles and related events. This improves performance and reduces dependency on public relays.

Key Features:

  • Read-only cache
  • Automatic periodic sync from upstream relays
  • Caches long-form articles (NIP-23), reactions, zaps, highlights, and more
  • WebSocket endpoint exposed via Caddy