A simple Rails app that provides a search backend for Jekyll sites. It's available as a (cheap!) paid service at drumknottsearch.com, but you can fire up your own instance if you wish.
It expects both PostgreSQL, Redis and Sphinx to be available, and you'll need to run both a web process (currently Puma) and a worker process (Sidekiq). Stripe is used for payment processing, and Postmark for email delivery.
Drumknott expects many environment variables to function:
BUGSNAG_API_KEYfor tracking errors via Bugsnag.
DATABASE_URLwhich is the primary PostgreSQL database.
FLYING_SPHINX_PORTcourtesy of the Flying Sphinx add-on.
INVOICE_FROMwhich has the invoice issuer details (which is likely a multi-line value including the postal address).
NEW_RELIC_LICENSE_KEYfor sending performance statistics to New Relic.
PAPERTRAIL_API_TOKENfor sending logs through to Papertrail.
POSTMARK_SMTP_SERVERto manage outbound email through Postmark.
REDIS_URLfor the Redis service used by Sidekiq.
SECRET_KEY_BASEfor Rails' verification of signed cookies.
SIDEKIQ_PASSWORDto control access to Sidekiq's dashboard.
STRIPE_PLAN_IDis the plan that is used for the subscription payments.
STRIPE_SECRET_KEYare the Stripe API credentials.
STRIPE_WEBHOOK_SECRETis used for authenticating webhook requests from Stripe.
Patches are very much welcome - though if you're thinking about adding in a new feature, I recommend opening up an issue on GitHub to discuss things first to check if I have any feedback on implementation details and whether the feature is likely to be merged in.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright (c) 2016, Drumknott is developed and maintained by Pat Allan, and is released under the open MIT Licence.