| | 1 | = Move Off Trac = |
| | 2 | |
| | 3 | The goal of this page is to cover the phases of a project aiming at moving some critical features from Trac to an other solution (or combination of). |
| | 4 | |
| | 5 | == Scope == |
| | 6 | |
| | 7 | === Goals and Requirements === |
| | 8 | |
| | 9 | 1. MUST replace Trac as currently used for Ticket and Wiki by some alternative(s): |
| | 10 | * MUST look better: current UI looks old which makes the Tahoe-LAFS project looking dead |
| | 11 | * MUST be better maintained: Trac is dying? max 2 contributors per month - https://openhub.net/p/trac |
| | 12 | * MUST be easier to maintain: Trac is difficult to update (current = v1.0.13/2016-09-11, latest = v1.6.0/2023-09-23)? |
| | 13 | * MUST allow Self-Registration (Trac requires manual registration via email) |
| | 14 | * COULD support OAuth2 with GitHub? |
| | 15 | * MUST be (F)OSS |
| | 16 | * MUST be self-hostable |
| | 17 | 2. MUST replace the current landing page (StartPage from the Wiki): |
| | 18 | * preferably with a static blog/page generator updated from a Git repo (e.g.: (Go)Jekyll, HuGo) |
| | 19 | * possibly with a LAMP stack as discussed: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3892 |
| | 20 | 3. COULD be used to replace: |
| | 21 | * GitHub code hosting and review (pull request), keeping only a mirrored clone |
| | 22 | * GitHub Actions (to avoid leaving secrets in environment variables) |
| | 23 | * Circle CI (to avoid giving them too many permissions) |
| | 24 | |
| | 25 | === Inclusions === |
| | 26 | |
| | 27 | * Trac issues of the Tahoe-LAFS project |
| | 28 | * Trac wiki pages of the Tahoe-LAFS project |
| | 29 | * Trac HTML home page of the Tahoe-LAFS project |
| | 30 | * Hall of Fame HTML page of the Tahoe-LAFS project |
| | 31 | * The related DNS records (mostly: tahoe-lafs.org) |
| | 32 | |
| | 33 | === Exclusions === |
| | 34 | |
| | 35 | * Binary repository for Tahoe-LAFS releases (https://tahoe-lafs.org/downloads) |
| | 36 | * Other Trac projects (see DevInfra) |
| | 37 | * Buildbot master instances for some other Trac projects |
| | 38 | * DARCS SCM for some of the other Trac projects |
| | 39 | * Any other services provided by the current server and not yet documented in DevInfra |
| | 40 | |
| | 41 | === Deliverables === |
| | 42 | |
| | 43 | 1. A VPS (hosted by Hetzner) providing 4 features powered by NixOS and Gitea: |
| | 44 | * a tracking system provisioned with the issues migrated from Trac (same numbers) |
| | 45 | * a Wiki system provisioned with the relevant pages migrated from Trac (same names) |
| | 46 | * a static website replacing the landing page from Trac with the code required for CI and CD |
| | 47 | * a repository defining the VPS it-self and its configuration as code (including the secrets) |
| | 48 | 2. A detailed migration plan to handle the transition (DNS changes and/or redirections) |
| | 49 | 3. An high-level migration plan for the 3 first features above to be later hosted on Codeberg SaaS (assuming it is possible) |