Dark Matter : Publisher
An #indieweb personal publishing platform built in Ruby on Rails.
Strap your computer, first.
git clone https://github.com/darkmatterapp/publisher.git cd publisher ./script/setup ./script/server
Deploy to Heroku
Click this button to easily deploy to Heroku. (You must have a Heroku account.)
Scripts to Rule Them All
Dark Matter : Publisher uses the Scripts to Rule Them All pattern. See also: https://github.com/github/scripts-to-rule-them-all
/script is a collection of scripts for development on an OS X / macOS computer.
Development setup on a Windows or Linux computer will vary.
- Homebrew taps and extensions
- Xcode command line tools
- Postgres launchctl (for
bootstrap script is the first time development environment configuration for this app.
You should only need to run this script once.
It will install the proper Ruby and PostgreSQL database versions.
Clone this repo.
git clone https://github.com/darkmatterapp/publisher.git cd publisher
Then run the
If that fails for you, file an issue with as much detail about your setup and any errors you got from the script.
bootstraped, you'll need to
setup setups the Rails environment (creates, migrates and seeds databases, then clears logs and tmp).
server script starts the Rails server on port
(using Foreman which uses the
Procile which uses Puma.)
Periodically, you can run the
update script to check for new versions of dependencies and to update the database schema. If you ever get a
PendingMigrationError, run this script to migrate your database.
Run the test suite using the
Test server script
To run a process which runs tests on file change
If you need to use the app's console (in any environment), use the
If you need to use the console on a remote instance of the app, specific its Heroku app name as the first argument.
./script/console HEROKU_APP_NAME production
CI Build script
Setup environment for CI to run tests. This is primarily designed to run on the continuous integration server.
Database seed script
Drop the database, rebuild it, and fill it with seed data.
If you find bugs, have feature requests or questions, please file an issue.
Code of Conduct
Everyone interacting in the Dark Matter project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the Dark Matter code of conduct.
Your heart is as free as the air you breathe.
The ground you stand on is liberated territory.
In legal text, Dark Matter : Publisher is dedicated to the public domain using Creative Commons -- CC0 1.0 Universal.