Skip to content

Commit

Permalink
Update self-hosting landing page
Browse files Browse the repository at this point in the history
  • Loading branch information
ku1ik committed Dec 10, 2023
1 parent d12ebeb commit e0ced76
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 27 deletions.
23 changes: 11 additions & 12 deletions docs/manual/server/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ __asciinema server__ is a server-side component of the asciinema ecosystem.
It implements a hosting platform for terminal session recordings. This includes
an API endpoint for uploading recordings, which is used by the [asciinema
CLI](../cli/index.md), and offers a familiar web interface for viewing,
browsing, sharing and managing recordings. It's privacy friendly, serving no ads
and performing no tracking.
browsing, sharing and managing recordings.

The server is built with [Elixir language](https://elixir-lang.org/) and
[Phoenix framework](https://www.phoenixframework.org/), and embeds asciinema's
Expand All @@ -23,12 +22,11 @@ managed by the asciinema team, offering free hosting for terminal recordings,
available to everyone. Check [asciinema.org/about](https://asciinema.org/about)
to learn more about this instance.

asciinema server is self-hosting friendly, and can be deployed in any
containerized environment, both for public or internal/private use. If you're
not comfortable with uploading your terminal sessions to asciinema.org, or your
company's policy prevents you from doing that, you can set up your own instance.
Read the [self-hosting quick start guide](self-hosting/quick-start.md) for
deployment overview.
You can easily [self-host asciinema server](self-hosting/index.md) and use the
[asciinema CLI](../cli/index.md) with your own instance. If you're not
comfortable with uploading your terminal sessions to asciinema.org, if your
company policy prevents you from doing so, or if you simply prefer self-hosting
everything, then asciinema has you covered.

---

Expand All @@ -38,13 +36,14 @@ Notable features:
format,
- perfectly integrated [asciinema player](../player/index.md) for best viewing
experience,
- editable recording metadata like title or long description (Markdown),
- configurable terminal themes and font families,
- easy [sharing](sharing.md) of recordings via secret links,
- easy [embedding](embedding.md) of the player, or linking via preview images
(SVG),
- ability to download pure text version (`.txt`) of a recording,
- visibility control for recordings: unlisted (secret) or public.
- privacy friendly - no tracking, no ads,
- visibility control for recordings: unlisted (secret) or public,
- editable recording metadata like title or long description (Markdown),
- configurable terminal themes and font families,
- ability to download pure text version (`.txt`) of a recording.

---

Expand Down
52 changes: 37 additions & 15 deletions docs/manual/server/self-hosting/index.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,44 @@
# Self-hosting the server
# Self-hosting

asciinema terminal recorder uses [asciinema.org](https://asciinema.org) as its
default host for the recordings. It's free, public service (all uploaded
recordings are __private by default__ though).
While [asciinema.org](https://asciinema.org) is the default [asciinema
server](../index.md) used by the CLI for uploading recordings, you can self-host
your own instance if you want full ownership and control over the recordings.

If you're not comfortable with uploading your terminal sessions to
asciinema.org, or your company's policy prevents you from doing that, you can
set up your own instance for private use. See
our [asciinema server install guide](https://github.com/asciinema/asciinema-server/wiki/Installation-guide).
asciinema server is self-hosting friendly, and can be deployed both for public
or internal/private use in any containerized environment using the official OCI
image,
[ghcr.io/asciinema/asciinema-server](https://github.com/asciinema/asciinema-server/pkgs/container/asciinema-server).

Once you have your instance running, point asciinema recorder to it by setting
API URL in `~/.config/asciinema/config` file as follows:
Requirements:

```ini
[api]
url = https://your.asciinema.host
- OCI runtime, e.g. [Docker](https://www.docker.com/),
[Podman](https://podman.io/), [Kubernetes](https://kubernetes.io/)
- 512 MB of RAM minimum (for a personal instance), 1 GB recommended (for a
community/company instance)
- [PostgreSQL](http://www.postgresql.org/download/) 14.0+ database server
- SMTP server, either a dedicated service or SMTP endpoint provided by your
email provider

To get started, follow the [quick start guide](quick-start.md), which provides a
template for a standard asciinema server configuration using
[docker-compose](https://docs.docker.com/compose/). This configuration includes
a PostgreSQL container and supports HTTPS, allowing you to set up a complete,
secure asciinema server easily.

Once your server is up and running, you'll be able to upload your recordings by
pointing [asciinema CLI](../../cli/index.md) to the server using the
`ASCIINEMA_API_URL` environment variable:

```sh
export ASCIINEMA_API_URL=https://asciinema.example.com
asciinema upload demo.cast
```

Alternatively, you can set `ASCIINEMA_API_URL` environment variable:
If you need help with installation or maintenance feel free to ask on [asciinema
forum](https://discourse.asciinema.org) or in the `#asciinema:matrix.org` room
on the [Matrix](https://matrix.org/) network.

ASCIINEMA_API_URL=https://your.asciinema.host asciinema rec
Last but not least, if your company is interested in having the installation,
maintenance or customization of the server performed by the people who created
asciinema, then check out [asciinema consulting
services](../../../consulting.md).

0 comments on commit e0ced76

Please sign in to comment.