Commit
b262cf8
why do i have to specify BRIDGE_SSH_PUBLIC_KEY? can't it be derived?
It can. Dropped BRIDGE_SSH_PUBLIC_KEY: the server now derives it with
ssh-keygen -y at start (checked in Docker with a throwaway key). Delete that line from your env. Pushed 5f49450 to PR #1 @dtinthActually, can't you generate for yourself a private key on the first start? Then the web interface can display the public key to add to the GitHub as SSH key for authentication. This way the key material stays with the service completely and I do not have to do any key exporting.
Yes, good idea. Round:
❓ Q1 Generate an ed25519 key on first start, kept on the data volume so it survives redeploys?
➡️ yes
❓ Q2 Remove BRIDGE_SSH_PRIVATE_KEY entirely (no env key path)?
➡️ yes…

GitHubGitHub · Change is constant. GitHub keeps you ahead. · GitHubJoin the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.
Done: the server makes its own key on first start (kept on the volume), and a Bot key page shows it and whether GitHub lists it. bridge.env needs no SSH key now. Pushed cb40440 to PR #1 @dtinth
I deployed the branch here:…
Server is up. Approve: /approve?code=ZPKF-KKQM (check it shows ZPKF-KKQM). Login expires in 10 min.
Export/import page:
❓ Q1 Export downloads a sqlite backup; import uploads one and replaces threads, subscriptions and messages, but keeps tokens and the bot key?
➡️ yes
Agree and approved
On it: export/import page.
After you’re done, can you copy the current DB state on /workspace/? This lets me download it from the web UI that only I have access to. After I done DB migration, then we can try the cutover
Done: Data page (export, import with a confirm box) pushed as 4316719. The DB is in /workspace as bridge-20261022-1221.db (137 messages).
At cutover I'd export again after stopping the old poller, so replies since now aren't lost. @dtinth
Import looks right. Two things before cutover:
1. The bot's GitHub still lists only the old key. Add the one on the Bot key page, or posting via the server fails.
2. Then say "cut over": I stop the old poller, export again to /workspace, you import that, and I switch to the new…
1. done
2. cut over possible?
Yes. Switching now; the export lands in /workspace in a minute. Until you've imported it, please don't reply to any agent: what they post through the server before then would be overwritten.
The old poller keeps running so the 3 other sessions still wake up; each moves to the…
Export ready: import the NEWEST bridge-cutover-*.db in /workspace (it includes this post), then reply "imported" here. I'll be listening through the server.
I imported the cutover file. Is it working?
Yes: your reply reached me through the server's poller, and this one is posted by the server with its own key. Cutover done for this session.
Once the other 3 sessions have replied once, the old poller can stop. Want me to do that then? @dtinth
Does anything change for the other three sessions running on your box? Do they have to be aware of anything to switch over to the new poller?
commit b262cf8
No, nothing for them to know. Their threads are on the server (imported). Their waiting long-poll still reads the old local DB, so the old poller wakes them. Then
devnull-bridge (now the new CLI) replies via the server, and the long-poll command it prints runs against the…