asciinema.org web app
Ruby HTML CSS C JavaScript Shell
Latest commit 2f81171 Nov 29, 2016 @sickill sickill committed on GitHub Merge pull request #226 from foobarto/master
fixes #225 - dockerized problem in the sidekiq-in-container
Permalink
Failed to load latest commit information.
app Update self-hosting example to use HTML5 element Oct 2, 2016
bin Refactor PNG generation Mar 29, 2015
config Use new player via <asciinema-player> tag Oct 1, 2016
db Upgrade Foreigner to workaround breaking changes in Rails 4.1.11 Jun 23, 2015
lib Allow specifying warden strategies per controller Feb 6, 2016
public Improved left/right margin for guru meditation Oct 25, 2014
script Install libtsm from asciinema's fork Dec 10, 2015
spec Use new player via <asciinema-player> tag Oct 1, 2016
src Remove empty line Dec 10, 2015
uploads Serve uploads from outside of public dir Apr 10, 2016
vendor Upgrade player Nov 7, 2016
.dockerignore Adding Dockerfile and start_sidekiq.rb needed to create Docker Image … Oct 27, 2015
.env.example Unicorn with girl_friday on Heroku Jun 9, 2012
.gitignore Use flat config files Dec 9, 2013
.rspec.example Example .rspec config file Nov 23, 2012
.ruby-version Use ruby 2.1 in development Jan 27, 2014
.travis.yml Fix travis config Jul 18, 2015
CONTRIBUTING.md Create CONTRIBUTING.md Feb 14, 2016
Dockerfile fixes #225 - dockerized problem in the sidekiq-in-container Nov 29, 2016
Gemfile Update oj to support JSON.generate(..., ascii_only: true) Oct 2, 2016
Gemfile.lock Update oj to support JSON.generate(..., ascii_only: true) Oct 2, 2016
Guardfile Upgrate to Rails 4.1.5 Aug 30, 2014
LICENSE Change license to AGPL v3 Apr 4, 2014
Procfile Make foreman start sidekiq with proper config file path Sep 14, 2013
README.md fixes #225 - dockerized problem in the sidekiq-in-container Nov 29, 2016
Rakefile Upgrate to Rails 4.1.5 Aug 30, 2014
config.ru Load unicorn worker killer only in production Jan 29, 2014
docker-compose.yml fixes #225 - dockerized problem in the sidekiq-in-container Nov 29, 2016
sidekiq.ru Add rake task for starting sidekiq web panel Sep 14, 2013
start_sidekiq.rb Adding Dockerfile and start_sidekiq.rb needed to create Docker Image … Oct 27, 2015

README.md

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.

Quickstart Using Docker Compose

Required:

$ wget https://raw.githubusercontent.com/asciinema/asciinema.org/master/docker-compose.yml
$ docker-compose up -d asciinema
$ docker-compose run --rm db_init

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

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