Skip to content
This repository has been archived by the owner on Feb 16, 2018. It is now read-only.
/ tentd-omnibus Public archive

tentd + tent-status + tent-admin in an integrated bundle

Notifications You must be signed in to change notification settings

tent/tentd-omnibus

Repository files navigation

tentd Omnibus

Bundled collection of status and admin apps and the 0.3 reference server.

tentd is an alpha implementation of a Tent Protocol server. It currently contains broken code, many bugs, and security flaws. The code should only be used to experiment with how Tent works. Under no circumstances should the code in its current form be used for data that is supposed to be private.

Setup

ENV

Name Required Description
USERNAME Required Username you want to signin with
PASSPHRASE Required Passphrase you want to signin with (must be encrypted through rake encrypt_passphrase[passphrase])
URL Required URL pointing to this app
SESSION_SECRET Required Random string for session cookie secret
DATABASE_URL Required Postgres database url
REDIS_URL Required Redis url
TENT_ENTITY Optional Defaults to the mounted path of tentd
API_ROOT Optional Defaults to TENT_ENTITY, must point to where tentd is mounted.
ASSET_ROOT Optional Defaults to /assets.
PATH_PREFIX Optional Mounts all components with the prefix.

tentd

See the tentd README for details and additional configuration options.

status

See the status README for details and additional configuration options.

admin

See the admin README for details and additional configuration options.

Running it anywhere

Dependencies

Ruby

This app requires a Ruby 1.9.3 or 2.0.0 environment.

OS X

Homebrew is the easiest method of installing Ruby on OS X.

brew install ruby

If you need to switch between Ruby versions, chruby and ruby-install are well worth considering.

Ubuntu

sudo apt-get install build-essential ruby1.9.1-full libxml2 libxml2-dev libxslt1-dev
sudo update-alternatives --config ruby # make sure 1.9 is the default
Postgres

A Postgres database is required for running tentd.

If you use Homebrew, run

brew install postgresql

Otherwise, use Postgres.app.

Redis

Tentd also requires Redis.

If you use Homebrew, run

brew install redis

Otherwise see redis.io/download.

JavaScript Runtime

Asset compilation depends on a JavaScript runtime such as node.

Booting it up

Assuming you have the appropriate ENV variables set,

git clone git://github.com/tent/tentd-omnibus
bundle
bundle exec rake assets:precompile
createdb tentd
bundle exec rake db:migrate
bundle exec ruby ./runner.rb

will start an instance of tentd with pre-compiled and pre-authed instances of status and admin.

Running on Heroku

See the Getting Started with Heroku guide for more information.

Assuming you have heroku configured, just copy and paste the following:

heroku create --addons heroku-postgresql:dev,rediscloud:25,memcachier:25
heroku pg:promote $(heroku pg | head -1 | cut -f2 -d" ")
heroku labs:enable user-env-compile
heroku config:add \
 SESSION_SECRET=$(openssl rand -hex 16 | tr -d '\r\n') \
 USERNAME=admin \
 URL=$(heroku info -s | grep web_url | cut -f2 -d"=" | sed 's/http/https/' | sed 's/\/$//') \
 REDIS_URL=$(heroku config:get REDISCLOUD_URL | tr -d '\r\n') \
 RUN_SIDEKIQ=true
heroku config:add PASSPHRASE=$(heroku run bundle exec rake encrypt_passphrase\[passphrase\] | tail -1 | tr -d '\r\n')
git push heroku master
heroku run bundle exec rake db:migrate
heroku open

About

tentd + tent-status + tent-admin in an integrated bundle

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages