Skip to content

Migrate Telex users to Wirebot with automatic Docker updates - #2

Merged
sadfun merged 6 commits into
mainfrom
migrate-to-wirebot
Sep 6, 2026
Merged

sadfun merged 6 commits into
mainfrom
migrate-to-wirebot

Conversation

@sadfun

@sadfun sadfun commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Telex 0.0.35 migrates existing 0.0.34 instances to Wirebot on their next service start. It installs or starts local Docker, preserves the original Telex files, and runs a migrated copy with the same Telegram bot, Codex login, conversations, thread mappings, memories, schedules, settings, and workspace.

After migration, a systemd timer/oneshot service or launchd StartInterval job disables and stops the old Telex service. No updater process remains between checks. A small POSIX shell script pulls and compares the image; Node runs only for the first notification, a changed image, or recovery, then exits. Docker keeps Wirebot running independently.

Image replacements pull before stopping, snapshot the stopped data, and restore both image and data if startup fails. Durable checkpoints recover interrupted updates. Users receive the migration announcement after the replacement job is installed and Wirebot's connectors, scheduler, and Codex health are ready; successful notifications are recorded per recipient.

The copied default Codex workspace sandbox becomes Wirebot's container sandbox; approval policy stays unchanged. Docker installation needs root/passwordless sudo on Linux, or existing Homebrew/Docker Desktop on macOS. Missing prerequisites retain native Telex. README documents opt-out, storage, service management, and recovery. This PR prepares the release; it does not publish v0.0.35 or migrate live users.

Validation passed: local typecheck/lint, build, migration/rollback/checkpoint tests, shell no-op/failure/recovery checks, macOS plist validation, and the existing E2E CLI entry point. CI also passed retirement of a real systemd service, verified that the oneshot job exits with no process left, and booted the published Wirebot image against a simulated Telegram API to check mounted data, readiness, and snapshot restoration under /root. Final-commit CI: https://github.com/sadfun/telex/actions/runs/34063546681. No real Telegram or ChatGPT credentials are used.

@sadfun
sadfun merged commit ad4fabe into main Sep 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant