A nice and easily deployable prelaunch signup page for your startup.
-
Download this repository as a ZIP-File
-
Rename the folder. The app will be available at
http://folder_name.dev
. -
Install and update the gems.
$ bundle install $ bundle update
-
If you are on a Mac:
-
Else
- Just run the
$ rails s
and point your browser tolocalhost:3000
.
- Just run the
You'll be able to customize pretty much everything in this app, however it comes with great defaults.
- Mailer
- default from address
- default to address
- All views and stylesheets
- Everything, including
- The Subscriber model (i.e. you could add some fields)
- The outbound mail templates
- ...
-
Initialize Git repo (skip if you cloned the repo instead of downloading it)
$ git init $ git add . $ git commit -am "First commit"
-
Optional: Push your app to Github in a private or public repo. You'll find instructions after creating a repo on Github.
Prelauncher is ready-made for a quick and easy [Heroku] deployment. These are the steps:
-
Install the Heroku gem or Heroku toolbelt if you haven't already.
-
Create your app on Heroku.
$ heroku create prelauncher --remote production
-
Add a SECRET_TOKEN config variable
# Either $ rake secret # => random secure string to copy # or $ rails console SecureRandom.hex(48) # => 123123.........123123; Copy this string and exit the rails console $ heroku config:add SECRET_TOKEN=123123.......123123
-
Add the nescessary addons. The free plan suffices for each.
-
Deploy.
$ git push production master
-
Optional: Tail the logs in a second terminal window.
$ heroku logs -t
-
Browse your Heroku app to see if everything is working.
-
Add New Relic availability monitoring to prevent dyno idling. Go to New Relic from your Heroku apps page and set it in Settings > Availibility Monitoring. Every 10 minutes is plenty.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
If you have questions, just open an issue. You'll also find me at @thomasjklemm and by mail at github_at_tklemm_dot_eu.
Thomas Klemm
MIT