Command-line tool that records, live-streams and replays terminal sessions as lightweight asciicast files instead of video.
asciinema/asciinema-server
Self-hostable Phoenix/Elixir server for hosting, sharing, and live-streaming terminal session recordings in asciicast format.
Open-source alternative to:Asciinema.org
- Stars
- 2,504
- Forks
- 290
- Open issues
- 9
- Last commit
- 2 days ago
What is it?
asciinema server is the backend for the asciinema terminal recording ecosystem. It hosts recordings in the asciicast format and provides a web interface for viewing, browsing, sharing, and managing them, along with live streaming of terminal sessions. The HTTP API it exposes is what the asciinema CLI uses to upload and manage recordings.
The server is written in Elixir with the Phoenix framework and embeds the avt virtual terminal to generate previews, analyze recordings, and track live stream state. Full-text search covers titles, descriptions, and the terminal output itself. Recordings can be private, unlisted, or public, shared via secret links, embedded with the player, or linked as SVG preview images. Plain text transcripts can be downloaded.
A public instance is run at asciinema.org, and the server can be self-hosted for teams or organizations that need to keep their data in-house. Development requires Elixir, Erlang/OTP, Node.js, Rust, and PostgreSQL.
Key features
- 01Hosts terminal recordings in the asciicast format
- 02Live streaming of terminal sessions
- 03Full-text search across titles, descriptions, and terminal output
- 04Secret-link sharing and private, unlisted, or public visibility
- 05Embeddable player and SVG preview images
- 06Plain text transcript download
Use cases
- Hosting a private, self-managed archive of terminal recordings for a team
- Sharing command-line demos or tutorials with embedded players
- Streaming a live terminal session to viewers
- Serving as the backend for the asciinema CLI in an organization that cannot use a public host
Quick start
- 1
Clone the source code from GitHub
git clone https://github.com/asciinema/asciinema-server - 2
Enter the project directory
cd asciinema-server - 3
Enter the Nix dev shell with all toolchains
nix develop - 4
Install dependencies, set up the database and build assets
mix setup
Things to know
- Requires a running PostgreSQL server.
- Development setup needs Elixir 1.19+, Erlang/OTP 28+, Node.js and Rust unless you use Nix.
- Self-hosting requires setting up and maintaining your own server instance.
In collections
Topics
FAQ
- What is asciinema-server?
- Self-hostable Phoenix/Elixir server for hosting, sharing, and live-streaming terminal session recordings in asciicast format. asciinema server is the backend for the asciinema terminal recording ecosystem. It hosts recordings in the asciicast format and provides a web interface for viewing, browsing, sharing, and managing them, along with live streaming of terminal sessions. The HTTP API it exposes is what the asciinema CLI uses to upload and manage recordings.
- Is asciinema-server free to use? What license does it have?
- asciinema-server is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is asciinema-server still maintained?
- Actively maintained. The last commit to asciinema-server was on Nov 6, 2026.
- What can I use asciinema-server for?
- Hosting a private, self-managed archive of terminal recordings for a team Sharing command-line demos or tutorials with embedded players Streaming a live terminal session to viewers Serving as the backend for the asciinema CLI in an organization that cannot use a public host
- How do I install asciinema-server?
- Clone the source code from GitHub: git clone https://github.com/asciinema/asciinema-server Enter the project directory: cd asciinema-server Enter the Nix dev shell with all toolchains: nix develop Install dependencies, set up the database and build assets: mix setup
- Where can I get asciinema-server?
- The source code and installation instructions are on GitHub: https://github.com/asciinema/asciinema-server
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted file sharing server and Go CLI client that encrypts uploads on the server and works with curl, httpie and wget.
Jibri is a service that records or live-streams Jitsi Meet conferences by running headless Chrome and ffmpeg on a separate machine.
Open source, cookie-free web analytics tool positioned as a privacy-first alternative to Google Analytics, available as cloud or self-hosted.
A self-hostable translation management tool for web and native apps, with full edit history, team discussions, a CLI and a GraphQL API.
Self-hostable Phoenix web app for brainstorming, upvoting and prioritizing ideas with a team, with live updates and optional anonymous access.