asciinema hosting web app
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Marcin Kulik a8753e85eb Use namshi/smtp container for delivering emails 7 years ago
a2png@551afdb37f Upgrade a2png 7 years ago
app Add doc about recording from Docker image 7 years ago
config Use unicorn in Docker container 7 years ago
db Don't keep default theme name as empty string 7 years ago
dev Set :png-gen/:bin-path for dev env 7 years ago
docker Use namshi/smtp container for delivering emails 7 years ago
lib Allow specifying warden strategies per controller 8 years ago
public Improved left/right margin for guru meditation 10 years ago
resources/asciinema Allow setting a2png path via A2PNG_BIN_PATH 7 years ago
script Don't try to install pngquant on travis 7 years ago
spec Don't force generate PNG in oembed endpoint 7 years ago
src Add missing whitespace 7 years ago
test/asciinema Unify FileStore and FileServer 7 years ago
uploads Serve uploads from outside of public dir 8 years ago
vendor Upgrade player 7 years ago
.dockerignore Dockerignore more files in a2png/ 7 years ago
.env.example Unicorn with girl_friday on Heroku 12 years ago
.gitignore lein new duct 7 years ago
.gitmodules Add a2png submodule 7 years ago
.rspec.example Example .rspec config file 12 years ago
.ruby-version Use ruby 2.1 in development 10 years ago
.travis.yml Fix travis config 9 years ago
CONTRIBUTING.md Create CONTRIBUTING.md 8 years ago
Dockerfile Use namshi/smtp container for delivering emails 7 years ago
Gemfile Update oj to support JSON.generate(..., ascii_only: true) 8 years ago
Gemfile.lock Update oj to support JSON.generate(..., ascii_only: true) 8 years ago
Guardfile Upgrate to Rails 4.1.5 10 years ago
LICENSE Change license to AGPL v3 10 years ago
Procfile Make foreman start sidekiq with proper config file path 11 years ago
README.md Words 7 years ago
Rakefile Upgrate to Rails 4.1.5 10 years ago
config.ru Load unicorn worker killer only in production 10 years ago
docker-compose.yml Use namshi/smtp container for delivering emails 7 years ago
project.clj Kill a2png after 30 sec 7 years ago
sidekiq.ru Add rake task for starting sidekiq web panel 11 years ago

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 web app. 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 run --rm db_init
$ docker-compose up -d web

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://your-docker-host: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.