An open-source web app for link saving and sharing. Allows you to own and share your own content. See an example at links.codingitwrong.com!
An iOS share extension app is also available.
- PostgreSQL (e.g. Postgres.app)
- Foreman (optional, for running both Rails and Ember with one command)
The project has two different
.envfile at the root of the project is used by the Rails backend and includes connectivity info.
frontend/.envfile is used by the Ember frontend and includes site branding.
.env.sample file at each location, rename it to
.env, and fill in the values.
To test both Rails and Ember
To test them individually:
$ bin/rspec $ cd frontend $ ember test
For local development, the app is configured to run Rails and Ember on their default ports. You can run them both with a single command (requires Foreman):
Or run them individually as usual. In one terminal:
$ bin/rails s
And in another:
$ cd frontend $ ember s
To prevent you from having to run separate servers for the Ember frontend and Rails API, we have configured the two in the following way:
- Ember builds its assets into the Rails public directory
- Rails serves the Ember app from all URLs except
- Ember makes API requests to the same host it's running on
This means you can deploy Firehose anywhere you can deploy a Rails app, with the exception that you need to run
ember build first.
One easy way to deploy Firehose is Heroku. Hobby apps are free; they just have a limit on how many hours they can be running per day.
To deploy to Heroku, follow Heroku’s instructions on deploying a Rails app.
docker-compose.yml file are included for running within Docker either locally or in deployment.
On any server, you can run
bin/production upon each deployment to:
- Download Rails and Ember dependencies
- Build Ember
- Run Rails DB migrations
- Start the Rails server