diff --git a/services/brain.hcl b/services/brain.hcl new file mode 100644 index 0000000..e98c9df --- /dev/null +++ b/services/brain.hcl @@ -0,0 +1,48 @@ +# ABOUTME: Brain - Petre's externalized executive function system +# ABOUTME: SilverBullet for markdown web UI + ttyd for web terminal + +job "brain" { + datacenters = ["alo"] + + group "web" { + volume "services" { + type = "host" + read_only = false + source = "services" + } + + network { + port "silverbullet" {} + } + + task "silverbullet" { + driver = "docker" + user = "1000" + + config { + image = "zefhemel/silverbullet:latest" + ports = ["silverbullet"] + volumes = ["/data/services/brain:/space"] + } + + resources { + memory = 512 + } + + service { + name = "brain" + port = "silverbullet" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.brain.entryPoints=websecure", + "traefik.http.routers.brain.middlewares=oidc-auth@file", + ] + } + } + + # TODO: terminal task with ttyd for web-based amp/claude access + # Needs custom image with tmux + amp + claude-code installed + # For now, use SSH or local terminal for amp sessions + } +}