2013-10-03 17:22:09 +00:00
# asciinema.org
2012-04-03 10:03:31 +00:00
2014-08-05 14:31:51 +00:00
[![Build Status ](https://travis-ci.org/asciinema/asciinema.org.svg?branch=master )](https://travis-ci.org/asciinema/asciinema.org)
2015-03-06 10:10:33 +00:00
[![Code Climate ](https://codeclimate.com/github/asciinema/asciinema.org/badges/gpa.svg )](https://codeclimate.com/github/asciinema/asciinema.org)
2015-03-06 10:30:48 +00:00
[![Coverage Status ](https://coveralls.io/repos/asciinema/asciinema.org/badge.svg )](https://coveralls.io/r/asciinema/asciinema.org)
2014-02-01 09:40:57 +00:00
2013-12-09 16:42:11 +00:00
Record and share your terminal sessions, the right way.
2014-12-17 15:46:03 +00:00
asciinema is a free and open source solution for recording terminal sessions
and sharing them on the web.
2012-04-09 11:44:38 +00:00
2017-04-13 19:05:32 +00:00
This is the source code of asciinema.org web app. You can find asciinema's
terminal recorder
at [asciinema/asciinema ](https://github.com/asciinema/asciinema ) and asciinema
player
at [asciinema/asciinema-player ](https://github.com/asciinema/asciinema-player ).
2012-04-09 11:44:38 +00:00
2015-10-31 10:36:46 +00:00
## Setup instructions
2015-10-31 10:37:24 +00:00
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.
2016-11-29 19:23:18 +00:00
### Quickstart Using Docker Compose
2015-10-28 20:38:07 +00:00
2016-11-29 19:23:18 +00:00
Required:
2017-04-13 14:44:35 +00:00
- [Docker ](https://docs.docker.com/engine/getstarted/step_one/#step-1-get-docker )
- [docker-compose 1.5+ ](https://docs.docker.com/compose/install/ )
2015-10-28 20:38:07 +00:00
```bash
2016-11-29 19:23:18 +00:00
$ wget https://raw.githubusercontent.com/asciinema/asciinema.org/master/docker-compose.yml
$ docker-compose run --rm db_init
2017-04-13 18:45:33 +00:00
$ docker-compose up -d web
2016-11-29 19:23:18 +00:00
2015-10-28 20:38:07 +00:00
```
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.
2017-04-13 14:44:35 +00:00
Assuming you are running Docker Toolbox and VirtualBox: go to http://your-docker-host:3000/ and enjoy.
2015-10-28 20:38:07 +00:00
2015-10-31 10:36:46 +00:00
### Manual setup
2012-10-12 19:46:40 +00:00
2015-10-31 10:36:46 +00:00
#### 1. Install dependencies
2012-04-09 11:44:38 +00:00
2013-09-22 12:07:42 +00:00
asciinema.org site is a Ruby on Rails application. You need to have following
2012-10-12 20:29:31 +00:00
dependencies installed:
2012-04-09 11:44:38 +00:00
2014-09-06 13:37:00 +00:00
* Ruby 2.0+ (Ruby 2.1 is recommended)
2012-10-12 20:29:31 +00:00
2012-10-12 20:34:27 +00:00
* bundler gem
2012-10-12 19:46:40 +00:00
`gem install bundler`
2012-10-12 20:29:31 +00:00
2012-10-12 20:34:27 +00:00
* PostgreSQL 8+ with libpq development headers
2012-10-12 19:46:40 +00:00
`sudo apt-get install postgresql libpq-dev` on Debian/Ubuntu
2012-04-09 11:44:38 +00:00
2015-12-10 11:09:32 +00:00
* asciinema's libtsm fork (`asciinema` branch)
See [here ](https://github.com/asciinema/libtsm/blob/asciinema/README ) for installation instructions.
2013-08-25 15:34:00 +00:00
If you don't install it now the setup script (point 4 below) will try to
install it for you anyway.
2012-04-09 11:44:38 +00:00
2015-03-27 11:35:34 +00:00
* phantomjs 2.0+
`sudo add-apt-repository ppa:tanguy-patte/phantomjs && sudo apt-get update && sudo apt-get install phantomjs`
2015-10-31 10:36:46 +00:00
#### 2. Get the source code
2012-10-12 20:14:01 +00:00
Clone git repository:
2012-04-09 11:44:38 +00:00
2014-08-05 14:31:51 +00:00
```bash
2014-12-17 15:46:03 +00:00
$ git clone git://github.com/asciinema/asciinema.org.git
2014-08-05 14:31:51 +00:00
$ cd asciinema.org
```
2012-04-09 11:44:38 +00:00
2015-10-31 10:36:46 +00:00
#### 3. Prepare database config file
2012-05-06 00:02:36 +00:00
2012-10-12 19:46:40 +00:00
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).
2012-04-09 11:44:38 +00:00
2015-10-31 10:36:46 +00:00
#### 4. Setup the app
2012-04-09 11:44:38 +00:00
2012-10-12 20:14:01 +00:00
Following script will install gem dependencies and setup database:
2012-04-09 11:44:38 +00:00
2014-08-05 14:31:51 +00:00
```bash
$ ./script/setup
```
2012-04-09 11:44:38 +00:00
2015-10-31 10:36:46 +00:00
#### 5. Run Rails server
2012-04-09 11:44:38 +00:00
2014-08-05 14:31:51 +00:00
```bash
$ bundle exec rails server
```
2013-08-25 15:34:00 +00:00
2015-10-31 10:36:46 +00:00
#### 6. Run the background job processor
2013-08-25 15:34:00 +00:00
2015-03-06 10:35:54 +00:00
The background job processor is needed for asciicast pre-processing and
thumbnail generation.
2013-08-25 15:34:00 +00:00
2014-08-05 14:31:51 +00:00
```bash
$ bundle exec sidekiq
```
2012-04-09 11:44:38 +00:00
2013-12-03 19:09:18 +00:00
## Contributing
If you want to contribute to this project check out
[Contributing ](http://asciinema.org/contributing ) page.
2012-04-09 11:44:38 +00:00
## Authors
2013-10-06 11:02:37 +00:00
Developed with passion by [Marcin Kulik ](http://ku1ik.com ) and great open
2014-12-17 15:46:03 +00:00
source [contributors ](https://github.com/asciinema/asciinema.org/contributors )
2013-10-06 11:02:37 +00:00
## Copyright
2016-03-26 15:42:30 +00:00
Copyright © 2011-2016 Marcin Kulik. See LICENSE.txt for details.