Run your own
Why
grappa is one program that carries its own clients: install it and you get the bouncer, the cicchetto web app it serves, and the shottino terminal client, all on the same REST surface. Your scrollback stays on your disk, your users are your users, and the IRC networks you connect to are your business. irc.sindro.me is simply the instance I run; nothing in the code assumes it is the only one. Other people already run theirs.
Install
Signed repositories, so updates arrive with the rest of your system.
curl -fsSL https://grappa.chat/debian/grappa-archive-keyring.gpg \
| sudo tee /usr/share/keyrings/grappa-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/grappa-archive-keyring.gpg] \
https://grappa.chat/debian stable main" \
| sudo tee /etc/apt/sources.list.d/grappa.list
sudo apt update && sudo apt install grappa
shottino is in the same repository.
sudo rpm --import https://grappa.chat/rpm/grappa-archive-keyring.asc
sudo tee /etc/yum.repos.d/grappa.repo <<'EOF'
[grappa]
name=grappa
baseurl=https://grappa.chat/rpm/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://grappa.chat/rpm/grappa-archive-keyring.asc
EOF
sudo dnf install grappa
curl -fsSL https://grappa.chat/arch/grappa-archive-keyring.asc \
| sudo pacman-key --add -
sudo pacman-key --lsign-key A11BAC8E72FBCFCE
sudo tee -a /etc/pacman.conf <<'EOF'
[grappa]
SigLevel = Required DatabaseRequired
Server = https://grappa.chat/arch/$arch
EOF
sudo pacman -Sy grappa
x86_64 only: Arch has no official ARM port.
curl -fsSL https://raw.githubusercontent.com/vjt/grappa-irc/main/infra/docker/get.sh | bash
Multi-arch image (amd64 + arm64) at
ghcr.io/vjt/grappa. If you would rather not pipe a script
into a shell, copy
compose.release.yaml
instead. Append -s -- update to update an existing box.
The signing key
All three repositories are signed with one key, which lives on the machine that publishes them and nowhere else โ not on GitHub, not in a CI secret. The packages are built in public; only the signature is not.
BC9B A2A8 A677 FCA8 6A36 A0DC A11B AC8E 72FB CFCE
grappa.chat archive signing key <[email protected]>
Published next to the packages as .asc and .gpg. Curious how the packages get there? That's the pipeline โ
Architectures
Today the repositories carry x86_64. The container image is already
multi-arch (amd64 + arm64); arm64 .deb and
.rpm are next. The pacman repository stays x86_64: Arch has
no official ARM port, and Arch Linux ARM is a separate project.
From source, or anywhere else
Everything is on GitHub, MIT, with an installer for a bare host and one for Kubernetes. the code โ ยท INSTALL.md โ ยท running it โ
Just want to chat?
No install at all: log in with a nick on my instance.
Try it now โ