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.
 
 
 
 
 
 
Silberengel 8867dba25d speed up app, fix bugs 2 months ago
assets speed up app, fix bugs 2 months ago
bin Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
config branding commit 2 months ago
docker/cron Misc fixes 11 months ago
docs Footer links 11 months ago
frankenphp Misc fixes 11 months ago
migrations Downsizing: Clean up db migration and provide no-magazine fallback 11 months ago
public Static pages, service worker, manifest 1 year ago
publication/Newsroom Downsizing: remove nzines 11 months ago
scripts branding commit 2 months ago
src speed up app, fix bugs 2 months ago
templates speed up app, fix bugs 2 months ago
tests Security 1 year ago
translations Downsizing: remove nzines 11 months ago
.dockerignore Symfony from dunglas/symfony-docker 2 years ago
.editorconfig Symfony from dunglas/symfony-docker 2 years ago
.env.dist branding commit 2 months ago
.env.test Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
.gitattributes Symfony from dunglas/symfony-docker 2 years ago
.gitignore Reorganize configs 1 year ago
Dockerfile Downsizing: remove Redis 11 months ago
LICENSE Initial commit 2 years ago
README.md initial commit 2 months ago
compose.override.yaml branding commit 2 months ago
compose.prod.yaml Downsizing: cleanup 11 months ago
compose.yaml branding commit 2 months ago
composer.json Downsizing: cleanup 11 months ago
composer.lock Downsizing: cleanup 11 months ago
importmap.php PWA 1 year ago
package.json Quill editor basics 1 year ago
phpunit.xml.dist Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
symfony.lock Downsizing: cleanup 11 months ago

README.md

Unfold

Unfold is a customizable framework for your Nostr-based magazine.

(This is the Imwald edition of Unfold.)

Setup

Clone the repository

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

Create the .env file

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

If you have your own MySQL database, comment out the database service in compose.yaml and skip root password in .env. There are additional comments to that effect in the files.

Configure config/unfold.yaml

Before running the application, review and update config/unfold.yaml to match your desired magazine settings, theme, and external links. This file controls:

  • Magazine name, short name, and description
  • Theme and color settings
  • Community articles feature
  • External footer links
  • Other project-specific configuration

Edit the values in config/unfold.yaml as needed for your deployment.

Customizing Theme and Icons

You can override the default theme and icons by adding your own files to /assets/theme/local/. To do this:

  • Copy the structure and file names from /assets/theme/default/.
  • Place your custom theme.css and icon files in your theme folder.
  • Update your configuration in config/unfold.yaml to reference your custom theme if needed.

This allows you to easily switch or update the look and feel of your magazine without modifying the default assets.

Build the Docker containers

For development:

docker compose build

For production (using production overrides), set APP_ENV=prod in your .env file and run:

docker compose -f compose.yaml -f compose.prod.yaml build

Start the Docker containers

docker compose up -d

Run Database Migrations

Before fetching or displaying articles, make sure your database schema is up to date. Run:

docker compose exec php php bin/console doctrine:migrations:migrate --no-interaction

Fetching Articles

To fetch articles from the default relay for the last two months, run:

docker compose exec php php bin/console articles:get -- '-2 month' 'now'

You can adjust the date range as needed. This command will import articles into the local database.