GitHub
Choose between writable two-way GitHub Sync and scheduled read-only repository mirrors.
Trylle provides two different ways to bring a GitHub repository onto the platform. Choose the integration by deciding whether the Trylle repository must remain writable.
| GitHub Sync | Public mirror | |
|---|---|---|
| Trylle repository | Normal, writable repository | Read-only pull mirror |
| Direction | Trylle to GitHub and GitHub to Trylle | GitHub to Trylle only |
| Update timing | Webhook-driven after changes | Every 8 hours, day, 3 days, or week |
| GitHub access | GitHub App installation and user authorization | Public repository URL; no GitHub App required |
| Private GitHub repositories | Supported when granted to the App | Not supported |
| Issues and pull requests | Lifecycle changes continue to synchronize | Optional data copied during import |
| Best for | Active development, gradual migration, or publishing from Trylle | Browsing, indexing, or keeping a public replica |
These modes are not interchangeable
A public mirror cannot also use writable GitHub Sync. If contributors need to push or manage synchronized issues and pull requests from Trylle, start with GitHub Sync.
GitHub Sync
GitHub Sync creates a regular Trylle repository and keeps it connected to one GitHub repository. Branches, tags, issues, pull requests, comments, reviews, and related lifecycle changes travel in both directions after the connection is enabled.
Use it when:
- contributors will push to both Trylle and GitHub;
- the GitHub source is private;
- issue and pull request activity must remain aligned;
- you are moving a team gradually rather than performing a one-time import.
Read Set up seamless sync for installation, repository eligibility, branch modes, and recovery.
Public mirror
A public mirror is a Forgejo pull mirror. Trylle imports a public GitHub repository, marks the result read-only, and refreshes its Git data on the selected schedule. It does not require GitHub App installation or OAuth authorization.
Use it when:
- the source is public;
- Trylle only needs a replica;
- scheduled updates are sufficient;
- you want to import several public repositories in one batch.
Read Create repository mirrors for accepted source formats, schedules, visibility, optional data, and retries.
Start an import
Open the Trylle dashboard, choose Migrate, and select GitHub. The first step asks you to choose GitHub Sync or Public mirror before collecting source and destination details.
For a repository that already exists on Trylle, configure a writable connection from that repository's Settings > GitHub Sync page. Existing repositories must meet the history requirements described in the sync guide.