asciinema hosting web app
Go to file
2017-04-15 19:52:50 +02:00
a2png@551afdb37f Upgrade a2png 2017-04-11 16:10:10 +02:00
app Add doc about recording from Docker image 2017-04-12 13:01:56 +02:00
config Add "welcome" asciicast on db init 2017-04-15 18:15:52 +02:00
db Add "welcome" asciicast on db init 2017-04-15 18:15:52 +02:00
dev Set :png-gen/:bin-path for dev env 2017-04-12 14:43:33 +02:00
docker Use namshi/smtp container for delivering emails 2017-04-14 10:34:42 +02: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
resources Add "welcome" asciicast on db init 2017-04-15 18:15:52 +02:00
script Don't try to install pngquant on travis 2017-01-11 15:31:56 +01:00
spec Don't force generate PNG in oembed endpoint 2017-04-11 10:23:46 +00:00
src Add missing whitespace 2017-04-12 15:43:45 +02:00
test/asciinema Unify FileStore and FileServer 2017-04-12 14:43:31 +02:00
uploads Serve uploads from outside of public dir 2016-04-10 12:29:16 +00:00
vendor Upgrade player 2017-03-13 21:16:12 +01:00
.dockerignore Dockerignore more files in a2png/ 2017-04-13 20:47:39 +02:00
.env.example Unicorn with girl_friday on Heroku 2012-06-09 15:25:43 +02:00
.gitignore lein new duct 2017-04-12 14:43:30 +02:00
.gitmodules Add a2png submodule 2017-01-11 14:52:39 +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
docker-compose.yml Add "welcome" asciicast on db init 2017-04-15 18:15:52 +02:00
Dockerfile More comments 2017-04-15 00:30:18 +02:00
Gemfile Update oj to support JSON.generate(..., ascii_only: true) 2016-10-02 08:38:24 +00:00
Gemfile.lock Update oj to support JSON.generate(..., ascii_only: true) 2016-10-02 08:38:24 +00: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
project.clj Kill a2png after 30 sec 2017-04-12 14:43:33 +02:00
Rakefile Upgrate to Rails 4.1.5 2014-08-30 20:10:49 +02:00
README.md Add "Security" section 2017-04-15 19:52:50 +02:00
sidekiq.ru Add rake task for starting sidekiq web panel 2013-09-14 13:11:20 +02:00

asciinema web app

Build Status Code Climate Coverage Status

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

This repository contains the source code of asciinema hosting web app, which runs at asciinema.org.

You can find the source code of asciinema terminal recorder at asciinema/asciinema, and the source code of asciinema web 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

Check out our Contributing page, which describes multiple ways you can help this project.

If you decide to contribute with the code then please read CONTRIBUTING.md, which covers submitting bugs, requesting new features, preparing your code for a pull request, etc.

Security

We're serious about the security of this web app and the user data it manages. If you find anything that looks like a potential vulnerability please read on how to report a security issue.

Authors

asciinema is developed by Marcin Kulik with the help of many great open source contributors.

For a complete list of the many individuals that contributed to the project, please refer to GitHub's list of contributors.

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