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č 5b8c5a761e Instructions for use 9 months ago
assets Better theming 9 months ago
bin Authenticate user with a NostrSigner. Prep for long form articles. 1 year ago
config Better theming 9 months ago
docker/cron Misc fixes 9 months ago
docs Footer links 9 months ago
frankenphp Misc fixes 9 months ago
migrations Downsizing: Clean up db migration and provide no-magazine fallback 9 months ago
public Static pages, service worker, manifest 12 months ago
publication/Newsroom Downsizing: remove nzines 9 months ago
src Actually load a magazine 9 months ago
templates Actually load a magazine 9 months ago
tests Security 11 months ago
translations Downsizing: remove nzines 9 months ago
.dockerignore Symfony from dunglas/symfony-docker 1 year ago
.editorconfig Symfony from dunglas/symfony-docker 1 year ago
.env.dist Refactor config 9 months ago
.env.test Authenticate user with a NostrSigner. Prep for long form articles. 1 year ago
.gitattributes Symfony from dunglas/symfony-docker 1 year ago
.gitignore Reorganize configs 12 months ago
Dockerfile Downsizing: remove Redis 9 months ago
LICENSE Initial commit 1 year ago
README.md Instructions for use 9 months ago
compose.override.yaml Downsizing: cleanup 9 months ago
compose.prod.yaml Downsizing: cleanup 9 months ago
compose.yaml Database config details 9 months ago
composer.json Downsizing: cleanup 9 months ago
composer.lock Downsizing: cleanup 9 months ago
importmap.php PWA 12 months 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 Downsizing: cleanup 9 months ago

README.md

Unfold

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

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.