#4161 new task

Move off Trac - Execution - Forgejo

Reported by: btlogy Owned by:
Priority: normal Milestone: undecided
Component: dev-infrastructure Version: n/a
Keywords: movofftrac Cc:
Launchpad Bug:

Description (last modified by btlogy)

Following #4095 (MoveOffTrac - Initiation), we can now start executing the plan.

In short, the goal is to follow the principle of Infrastructure as Code as much as possible in those main steps:

  1. deploy and manage a new VPS server hosted by Hetzner using OpenToFu
  2. deploy and configure Nginx and Forgio using NixOS
  3. manage the DNS records to re-route web traffic to the new server using OpenToFu
  4. proxy/redirect out-of-scope content to the legacy server using NixOS
  5. migrate the data from Trac to Forgejo using trac2gitea

More details should be found in this dedicated MoveOffTrac repository.

Change History (8)

comment:1 Changed at 2025-01-16T14:56:19Z by btlogy

Declarative definition of the DNS configurations via #4162 would be a very nice to have for the step 3 in the description.

We would be able to stream the IPs assigned to the VPS during their provisioning directly to the DNS records.

This would avoid a back-and-forth and/or synchronized interaction between the contributor(s) who's going to execute the migration and the one(s) have the permissions to change the DNS configurations.

This being said, the declarative definition of the VPS can be done regardless of what will happened to #4162. So we/I should try to keep those as separated as possible.

comment:2 Changed at 2025-01-27T15:47:10Z by btlogy

  • Description modified (diff)

comment:3 Changed at 2025-02-07T08:04:36Z by btlogy

The last step described above (5) will require access to the existing server. Brian has been sent 2 new ssh keys to be authorized to access tahoe-lafs.org...

comment:4 Changed at 2025-02-07T08:17:51Z by btlogy

Heads up about the steps in the description:

  1. Completed via infrastructure#21.
  2. In progress via infrastructure#32 or infrastructure#33. The next PRs will be cherry picked from infrastructure#28
  3. Pending on having access to the DNS (as discussed with Brian) via #4162
  4. and 5. Pending on having access to the existing server (as discussed with Brian too)
Last edited at 2025-02-07T08:18:09Z by btlogy (previous) (diff)

comment:5 Changed at 2025-04-04T10:01:04Z by btlogy

Heads up about the steps in the description:

  1. Completed via infrastructure#21.
  2. In progress via:
  3. Still pending on having access to the DNS (as discussed with Brian) via #4162
  4. and 5. Still pending on having access to the existing server (as discussed with Brian too)

comment:6 Changed at 2025-04-04T10:01:24Z by btlogy

  • Description modified (diff)

comment:7 Changed at 2025-05-20T20:04:17Z by btlogy

Forgejo has been provisionned for MoveOffTrac: https://forge.of.tahoe-lafs.org/

Feedback from Jeff: the home page does not show any project. Can we change that?

After a quick look at the doc, it is possible to customize the home page in 2 different ways:

  1. Configurations and UI settings: supported but very limited (unlikely altering the home page much).
  2. Serving custom resources, logos and pages (via template): with deeper impact but unsupported = future updates are likely to break changes without any warning.

A last option we have is to redirect some requests using Nginx (e.g.: / -> /tahoe-lafs), but we should be careful to not interfere too much...

comment:8 Changed at 2025-05-21T07:42:01Z by btlogy

Heads up about the steps in the description:

  1. Deploy and manage a new VPS server hosted by Hetzner using OpenToFu
    Completed via:
  2. Deploy and configure Nginx and Forgio using ​NixOS
    In progress via:
  3. Manage the DNS records to re-route web traffic to the new server using ​OpenToFu
    Partly completed in the absence of full delegation (see #4162 = infrastructure#56)
  4. Proxy/redirect out-of-scope content to the legacy server using ​!NixOS
    Partly completed in the absence of root access:
    • [ ] Reconfigure legacy server with new certificate and implement redirections to legacy services
    • [x] OR Implement proxy to legacy services with invalid certificate (not visible, parts in infrastructure#66)
  5. Migrate the data from Trac to Forgejo using ​trac2gitea
    To do:
    • [ ] Extract the data and reconfigure Trac in RO via root access to the legacy server
    • [ ] OR asynchronous workaround with Meejah
    • [ ] Rework the redirect/proxy rules to use Forgejo instead of Trac
Note: See TracTickets for help on using tickets.