emojibot
Slack emoji management service. Supports multiple instances for different workspaces.
Runtime: bun · Stateless (no database)
This is a custom module — it does not use mkService. Each instance gets its own systemd service, user, and Caddy virtual host.
Instance options
Instances are defined under atelier.services.emojibot.instances.<name>:
atelier.services.emojibot.instances = {
hackclub = {
enable = true;
domain = "hc.emojibot.dunkirk.sh";
port = 3002;
workspace = "hackclub";
channel = "C02T3CU03T3";
repository = "https://github.com/taciturnaxolotl/emojibot";
secretsFile = config.age.secrets."emojibot/hackclub".path;
healthUrl = "https://hc.emojibot.dunkirk.sh/health";
};
};
| Option | Type | Default | Description |
|---|---|---|---|
enable | bool | false | Enable this instance |
domain | string | — | Domain for Caddy reverse proxy |
port | port | — | Port to run on |
secretsFile | path | — | Agenix secrets file with Slack credentials |
repository | string | "https://github.com/taciturnaxolotl/emojibot" | Git repo URL |
workspace | string or null | null | Slack workspace name (for identification) |
channel | string or null | null | Slack channel ID |
healthUrl | string or null | null | Health check URL for monitoring |
Current instances
| Instance | Domain | Port | Workspace |
|---|---|---|---|
| hackclub | hc.emojibot.dunkirk.sh | 3002 | Hack Club |
| df1317 | df.emojibot.dunkirk.sh | 3005 | df1317 |