Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/publish-image-manual.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: publish-image-manual

on:
workflow_dispatch:

jobs:
publish-image:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out
uses: actions/checkout@v6
with:
ref: ${{ github.sha }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: |
thaddeusjiang/bub:${{ github.sha }}
thaddeusjiang/bub:latest
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,6 @@ cython_debug/

# Reference directory - ignore all reference projects
reference/

# Bub data directory
_data/
18 changes: 18 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
services:
bub:
build:
context: .
dockerfile: Dockerfile
container_name: bub
env_file:
- .env
environment:
BUB_HOME: /data
BUB_WORKSPACE_PATH: /workspace
working_dir: /workspace
volumes:
- ./:/workspace
- ./_data:/data
stdin_open: true
tty: true
restart: unless-stopped
61 changes: 61 additions & 0 deletions zeabur.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: zeabur.com/v1
kind: Template
metadata:
name: bub-telegram
spec:
description: Deploy Bub with Telegram mode enabled by default.
icon: https://raw.githubusercontent.com/PsiACE/bub/main/docs/assets/images/baby-bub.png
variables:
- key: BUB_MODEL
type: STRING
name: Bub Model
description: Model in provider:model format (for example, openrouter:qwen/qwen3-coder-next).
- key: OPENROUTER_API_KEY
type: STRING
name: OpenRouter API Key
description: Required for OpenRouter model calls.
- key: BUB_TELEGRAM_TOKEN
type: STRING
name: Telegram Bot Token
description: Required Telegram bot token from BotFather.
- key: BUB_TELEGRAM_ALLOW_FROM
type: STRING
name: Telegram Allow List
description: JSON array of allowed Telegram user IDs or usernames.
tags:
- AI
- Telegram
- Python
readme: |-
Bub is a coding agent CLI built on republic.
Project README (source of truth): https://github.com/PsiACE/bub

This template starts Bub in Telegram mode by default.

Required envs for this template:
- BUB_MODEL
- OPENROUTER_API_KEY
- BUB_TELEGRAM_ENABLED=true (readonly)
- BUB_TELEGRAM_TOKEN
- BUB_TELEGRAM_ALLOW_FROM
services:
- name: bub
template: PREBUILT
spec:
source:
image: thaddeusjiang/bub:latest
volumes:
- id: bub-home
dir: /root/.bub
env:
BUB_MODEL:
default: ${BUB_MODEL}
OPENROUTER_API_KEY:
default: ${OPENROUTER_API_KEY}
BUB_TELEGRAM_ENABLED:
default: "true"
readonly: true
BUB_TELEGRAM_TOKEN:
default: ${BUB_TELEGRAM_TOKEN}
BUB_TELEGRAM_ALLOW_FROM:
default: ${BUB_TELEGRAM_ALLOW_FROM}