tamandua
Version, currently main branch1 version
- main branchlatestApr 11, 2026
github.com/9c23a5/tamandua
fetch your appointments like an anteater!
Installation
# Add this to your shard.yml
dependencies:
tamandua:
github: 9c23a5/tamandua
branch: mainmain is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
>= 1.19.1- License
- MIT
- Author
- 9c32a5
- Target
tamanduafrom src/tamandua.cr
Dependencies
This version declares no dependencies.
README
tamandua
schlorping appointments for you since 2025
Installation
Unattended setup (recommended)
The intended way to use tamandua is to run it periodically via systemd timers or cron. I recommend systemd since it also handles ENVs nicely for you.
Initial setup in your server:
# create a new user for this service
sudo useradd --system --no-create-home --shell /usr/sbin/nologin tamandua
# copy systemd service, timer, and env configuration
git clone https://github.com/9c23a5/tamandua.git && cd tamandua
sudo cp deploy/tamandua.{service,timer} /etc/systemd/system/
sudo mkdir -p /etc/tamandua/env
sudo cp env.example /etc/tamandua/env # then fill in values
sudo chmod 600 /etc/tamandua/env
# enable timer
sudo systemctl daemon-reload
sudo systemctl enable --now tamandua.timer
sudo systemctl start tamandua.service # test if it works
And on your fork's Github Actions Secrets settings, fill in these:
DEPLOY_SSH_KEYSSH_HOSTSSH_USER
Make sure they're secrets and not variables!
Next CI run should push the binary to your server. Ensure that CI step upload_artifact generates the artifact for your platform.
Nightly builds
Every push generates artifacts for 90 days. I don't recommend using these, they're not meant to be release binaries, and I don't plan on generating releases
You can check for the latest artifacts, if available, here
Build from source
- Pull this repo
- Install Crystal: https://crystal-lang.org/install (required version available in shard.yml)
- Build release binary:
make release
# Or if you wanna cross-compile
docker buildx build --platform linux/amd64 --output type=local,dest=./out/amd64 .
# repalce linux/amd64 with your platform
If you want a build with debugger symbols, remove --no-debug. Static linking only works in Alpine linux, therefore Docker is required for cross-compiling, see Crystal docs
- Export these env variables on your shell, they're required at runtime:
export WEBHOOK_URL=https://discord.com/api/webhooks/channel_id/secret
export USER_ID="enable developer settings on discord + right click your username + copy userid"
- schlorp your appointments:
./tamandua
Todo
- Tests
- Retry temporary network errors (Askelpios loves to time out at 10am)
- Remember appointments and only notify when a new appointment is available or when one has been taken
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
main- Seen
- Apr 11, 2026
- Crystal
>= 1.19.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/9c23a5/tamandua
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 17, 2026
- Synced
- Aug 17, 2026
- Versions
- 1