No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 18:20:22 +00:00
defaults/main update 2026-09-26 18:20:22 +00:00
meta update 2026-09-26 18:20:22 +00:00
tasks update 2026-09-26 18:20:22 +00:00
.gitignore update 2026-09-26 18:20:22 +00:00
LICENSE update 2026-09-26 18:20:22 +00:00
README.md update 2026-09-26 18:20:22 +00:00

ansible-role-asciinema

Deploys asciinema server with rootless Podman.

References:

Example

- name: Setup asciinema
  hosts: asciinema
  become: true
  roles:
    - role: asciinema
      asciinema_url_host: asciinema.example.com
      asciinema_secret_key_base: "{{ vault_asciinema_secret_key_base }}"
      asciinema_smtp_host: "{{ smtp_host_20c }}"
      asciinema_smtp_username: "{{ smtp_user_20c }}"
      asciinema_smtp_password: "{{ smtp_pass_20c }}"
    - role: caddy
      caddy_sites:
        - name: asciinema
          host: asciinema.example.com
          srv: "127.0.0.1:4000"

By default this role creates a pod with:

  • asciinema-database, unless asciinema_database_disabled: true
  • asciinema-server, listening on 127.0.0.1:4000

For an external PostgreSQL database, set:

asciinema_database_disabled: true
asciinema_database_url: postgresql://username:password@hostname/dbname

Secrets

asciinema_secret_key_base maps to SECRET_KEY_BASE. It must be at least 64 random characters and should stay stable across restarts so login sessions survive container restarts:

tr -dc A-Za-z0-9 </dev/urandom | head -c 64; echo

CLI upload

Point the asciinema CLI at your server:

export ASCIINEMA_SERVER_URL=https://asciinema.example.com
asciinema upload demo.cast