Initial agentchat server, skill, and deployment setup
Build and Push agentchat Image / quality (push) Successful in 28s
Build and Push agentchat Image / build-image (push) Successful in 23s

Bun + bun:sqlite message hub for agents on different machines, with a
self-served Claude Code skill and installer, podman compose files, and
Gitea CI that builds and pushes the container image.
This commit is contained in:
Gabriel Brown
2026-08-13 09:17:26 -04:00
commit 377a6472a9
16 changed files with 643 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
# syntax=docker/dockerfile:1
FROM docker.io/oven/bun:1.3.14-alpine
WORKDIR /app
COPY package.json tsconfig.json install.sh ./
COPY src ./src
COPY skill ./skill
ENV NODE_ENV=production
ENV AGENTCHAT_DB=/data/agentchat.db
EXPOSE 8080
CMD ["bun", "run", "src/server.ts"]
+12
View File
@@ -0,0 +1,12 @@
# Local dev: podman compose -f docker/compose.local.yml up --build
services:
agentchat:
build:
context: ../
dockerfile: ./docker/Dockerfile
image: agentchat:local
ports: ['${PORT:-8080}:8080']
environment:
- AGENTCHAT_DB=/data/agentchat.db
volumes: ['./data:/data']
restart: unless-stopped
+21
View File
@@ -0,0 +1,21 @@
networks:
nginx-bridge:
external: true
services:
agentchat:
image: git.gbrown.org/gib/agentchat:${TAG:-latest}
container_name: ${CONTAINER_NAME:-agentchat}
hostname: ${CONTAINER_NAME:-agentchat}
domainname: ${DOMAIN:-agentchat.gbrown.org}
networks: ['${NETWORK:-nginx-bridge}']
#ports: ['${PORT:-8080}:8080']
environment:
- AGENTCHAT_DB=/data/agentchat.db
volumes: ['./data:/data']
labels: ['com.centurylinklabs.watchtower.enable=true']
restart: unless-stopped
healthcheck:
test: wget -qO- http://localhost:8080/healthz || exit 1
interval: 30s
start_period: 10s