asciinema hosting web app
Go to file
2016-10-01 18:09:32 +00:00
app No need for jQuery inside of an iframe 2016-10-01 18:09:32 +00:00
bin Refactor PNG generation 2015-03-29 14:15:05 +00:00
config Use new player via <asciinema-player> tag 2016-10-01 19:31:11 +02:00
db Upgrade Foreigner to workaround breaking changes in Rails 4.1.11 2015-06-23 08:23:01 +00:00
lib Allow specifying warden strategies per controller 2016-02-06 15:43:39 +01:00
public Improved left/right margin for guru meditation 2014-10-25 21:19:28 +02:00
script Install libtsm from asciinema's fork 2015-12-10 12:20:05 +01:00
spec Use new player via <asciinema-player> tag 2016-10-01 19:31:11 +02:00
src Remove empty line 2015-12-10 12:20:05 +01:00
uploads Serve uploads from outside of public dir 2016-04-10 12:29:16 +00:00
vendor Upgrade player 2016-10-01 18:08:30 +00:00
.dockerignore Adding Dockerfile and start_sidekiq.rb needed to create Docker Image with asciinema 2015-10-27 11:39:35 +00:00
.env.example Unicorn with girl_friday on Heroku 2012-06-09 15:25:43 +02:00
.gitignore Use flat config files 2013-12-09 19:03:22 +01:00
.rspec.example Example .rspec config file 2012-11-23 20:53:59 +01:00
.ruby-version Use ruby 2.1 in development 2014-01-27 18:04:49 +01:00
.travis.yml Fix travis config 2015-07-18 11:40:28 +00:00
config.ru Load unicorn worker killer only in production 2014-01-29 16:00:24 +01:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-02-14 17:08:24 +01:00
Dockerfile Adding Dockerfile and start_sidekiq.rb needed to create Docker Image with asciinema 2015-10-27 11:39:35 +00:00
Gemfile Remove Newrelic gem 2016-04-21 16:54:53 +02:00
Gemfile.lock Remove Newrelic gem 2016-04-21 16:54:53 +02:00
Guardfile Upgrate to Rails 4.1.5 2014-08-30 20:10:49 +02:00
LICENSE Change license to AGPL v3 2014-04-04 18:36:28 +02:00
Procfile Make foreman start sidekiq with proper config file path 2013-09-14 13:12:32 +02:00
Rakefile Upgrate to Rails 4.1.5 2014-08-30 20:10:49 +02:00
README.md Fix docker examples 2016-05-16 15:44:07 +03:00
sidekiq.ru Add rake task for starting sidekiq web panel 2013-09-14 13:11:20 +02:00
start_sidekiq.rb Adding Dockerfile and start_sidekiq.rb needed to create Docker Image with asciinema 2015-10-27 11:39:35 +00:00

asciinema.org

Build Status Code Climate Coverage Status

Record and share your terminal sessions, the right way.

asciinema is a free and open source solution for recording terminal sessions and sharing them on the web.

This is the source code of asciinema.org website. You can find asciinema's terminal recorder at asciinema/asciinema and asciinema player at asciinema/asciinema-player.

Setup instructions

Below you'll find setup instructions in case you want to contribute, play with it on your local machine, or setup your own instance for private use or for your organization.

Using Docker

$ docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=mypass --name=postgres postgres
$ docker run -d -p 6379:6379 --name=redis redis
$ docker run --rm --link postgres:postgres -e DATABASE_URL="postgresql://postgres:mypass@postgres/asciinema" --link redis:redis -e REDIS_URL="redis://redis:6379" asciinema/asciinema.org bundle exec rake db:setup
# starting sidekiq using the provided start_sidekiq.rb file will also start sendmail service if you don't want to use SMTP
# otherwise start sidekiq by starting: bundle exec sidekiq
$ docker run -d --link postgres:postgres -e DATABASE_URL="postgresql://postgres:mypass@postgres/asciinema" --link redis:redis -e REDIS_URL="redis://redis:6379" asciinema/asciinema.org ruby  start_sidekiq.rb
$ docker run -d --link postgres:postgres -e DATABASE_URL="postgresql://postgres:mypass@postgres/asciinema" --link redis:redis -e REDIS_URL="redis://redis:6379" -p 3000:3000 asciinema/asciinema.org

You can override the address/port that is sent in email with login token by passing HOST="host:port" environment variable when starting the web server.

Assuming you are running Docker Toolbox and VirtualBox: go to http://192.168.99.100:3000/ and enjoy.

Manual setup

1. Install dependencies

asciinema.org site is a Ruby on Rails application. You need to have following dependencies installed:

  • Ruby 2.0+ (Ruby 2.1 is recommended)

  • bundler gem
    gem install bundler

  • PostgreSQL 8+ with libpq development headers
    sudo apt-get install postgresql libpq-dev on Debian/Ubuntu

  • asciinema's libtsm fork (asciinema branch)
    See here for installation instructions. If you don't install it now the setup script (point 4 below) will try to install it for you anyway.

  • phantomjs 2.0+
    sudo add-apt-repository ppa:tanguy-patte/phantomjs && sudo apt-get update && sudo apt-get install phantomjs

2. Get the source code

Clone git repository:

$ git clone git://github.com/asciinema/asciinema.org.git
$ cd asciinema.org

3. Prepare database config file

Copy config/database.yml.example to config/database.yml. Then set database/user/password to whatever you prefer.

If database specified in database.yml doesn't exist then the following setup task will create it (make sure database user is allowed to create new databases).

4. Setup the app

Following script will install gem dependencies and setup database:

$ ./script/setup

5. Run Rails server

$ bundle exec rails server

6. Run the background job processor

The background job processor is needed for asciicast pre-processing and thumbnail generation.

$ bundle exec sidekiq

Contributing

If you want to contribute to this project check out Contributing page.

Authors

Developed with passion by Marcin Kulik and great open source contributors

Copyright © 2011-2016 Marcin Kulik. See LICENSE.txt for details.