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.
asciinema.org/README.md

134 lines
4.2 KiB
Markdown

7 years ago
# asciinema web app
12 years ago
[![Build Status](https://travis-ci.org/asciinema/asciinema.org.svg?branch=master)](https://travis-ci.org/asciinema/asciinema.org)
9 years ago
[![Code Climate](https://codeclimate.com/github/asciinema/asciinema.org/badges/gpa.svg)](https://codeclimate.com/github/asciinema/asciinema.org)
[![Coverage Status](https://coveralls.io/repos/asciinema/asciinema.org/badge.svg)](https://coveralls.io/r/asciinema/asciinema.org)
asciinema is a free and open source solution for recording terminal sessions
and sharing them on the web.
12 years ago
7 years ago
This repository contains the source code of asciinema hosting web app, which
runs at [asciinema.org](https://asciinema.org).
You can find the source code of asciinema terminal recorder
at [asciinema/asciinema](https://github.com/asciinema/asciinema), and the source
code of asciinema web player
7 years ago
at [asciinema/asciinema-player](https://github.com/asciinema/asciinema-player).
12 years ago
9 years ago
## 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:
- [Docker](https://docs.docker.com/engine/getstarted/step_one/#step-1-get-docker)
- [docker-compose 1.5+](https://docs.docker.com/compose/install/)
```bash
$ 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.
9 years ago
### Manual setup
12 years ago
9 years ago
#### 1. Install dependencies
12 years ago
asciinema.org site is a Ruby on Rails application. You need to have following
12 years ago
dependencies installed:
12 years ago
10 years ago
* Ruby 2.0+ (Ruby 2.1 is recommended)
12 years ago
12 years ago
* bundler gem
12 years ago
`gem install bundler`
12 years ago
12 years ago
* PostgreSQL 8+ with libpq development headers
12 years ago
`sudo apt-get install postgresql libpq-dev` on Debian/Ubuntu
12 years ago
* asciinema's libtsm fork (`asciinema` branch)
See [here](https://github.com/asciinema/libtsm/blob/asciinema/README) for installation instructions.
11 years ago
If you don't install it now the setup script (point 4 below) will try to
install it for you anyway.
12 years ago
* phantomjs 2.0+
`sudo add-apt-repository ppa:tanguy-patte/phantomjs && sudo apt-get update && sudo apt-get install phantomjs`
9 years ago
#### 2. Get the source code
12 years ago
Clone git repository:
12 years ago
```bash
$ git clone git://github.com/asciinema/asciinema.org.git
$ cd asciinema.org
```
12 years ago
9 years ago
#### 3. Prepare database config file
12 years ago
12 years ago
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).
12 years ago
9 years ago
#### 4. Setup the app
12 years ago
12 years ago
Following script will install gem dependencies and setup database:
12 years ago
```bash
$ ./script/setup
```
12 years ago
9 years ago
#### 5. Run Rails server
12 years ago
```bash
$ bundle exec rails server
```
11 years ago
9 years ago
#### 6. Run the background job processor
11 years ago
9 years ago
The background job processor is needed for asciicast pre-processing and
thumbnail generation.
11 years ago
```bash
$ bundle exec sidekiq
```
12 years ago
## Contributing
7 years ago
Check out our [Contributing](http://asciinema.org/contributing) page, which
describes multiple ways you can help this project.
If you decide to contribute with the code then please
read [CONTRIBUTING.md](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](CONTRIBUTING.md#reporting-security-issues).
12 years ago
## Authors
7 years ago
asciinema is developed by [Marcin Kulik](http://ku1ik.com) 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](https://github.com/asciinema/asciinema.org/contributors).
11 years ago
## Copyright
7 years ago
Copyright © 2011-2017 Marcin Kulik. See LICENSE.txt for details.