Martin's Code: Martin Shaw's Personal Git Code Hosting
dumpVar: middleware.ContextData
{
  "AllLangs": [
    {
      "Lang": "id-ID",
      "Name": "Bahasa Indonesia"
    },
    {
      "Lang": "da",
      "Name": "Dansk"
    },
    {
      "Lang": "de-DE",
      "Name": "Deutsch"
    },
    {
      "Lang": "en-US",
      "Name": "English"
    },
    {
      "Lang": "es-ES",
      "Name": "Español"
    },
    {
      "Lang": "eo",
      "Name": "Esperanto"
    },
    {
      "Lang": "fil",
      "Name": "Filipino"
    },
    {
      "Lang": "fr-FR",
      "Name": "Français"
    },
    {
      "Lang": "it-IT",
      "Name": "Italiano"
    },
    {
      "Lang": "lv-LV",
      "Name": "Latviešu"
    },
    {
      "Lang": "hu-HU",
      "Name": "Magyar nyelv"
    },
    {
      "Lang": "nl-NL",
      "Name": "Nederlands"
    },
    {
      "Lang": "nds",
      "Name": "Plattdüütsch"
    },
    {
      "Lang": "pl-PL",
      "Name": "Polski"
    },
    {
      "Lang": "pt-PT",
      "Name": "Português de Portugal"
    },
    {
      "Lang": "pt-BR",
      "Name": "Português do Brasil"
    },
    {
      "Lang": "sl",
      "Name": "Slovenščina"
    },
    {
      "Lang": "fi-FI",
      "Name": "Suomi"
    },
    {
      "Lang": "sv-SE",
      "Name": "Svenska"
    },
    {
      "Lang": "tr-TR",
      "Name": "Türkçe"
    },
    {
      "Lang": "cs-CZ",
      "Name": "Čeština"
    },
    {
      "Lang": "el-GR",
      "Name": "Ελληνικά"
    },
    {
      "Lang": "bg",
      "Name": "Български"
    },
    {
      "Lang": "ru-RU",
      "Name": "Русский"
    },
    {
      "Lang": "uk-UA",
      "Name": "Українська"
    },
    {
      "Lang": "fa-IR",
      "Name": "فارسی"
    },
    {
      "Lang": "ja-JP",
      "Name": "日本語"
    },
    {
      "Lang": "zh-CN",
      "Name": "简体中文"
    },
    {
      "Lang": "zh-TW",
      "Name": "繁體中文(台灣)"
    },
    {
      "Lang": "zh-HK",
      "Name": "繁體中文(香港)"
    },
    {
      "Lang": "ko-KR",
      "Name": "한국어"
    }
  ],
  "Context": {
    "Base": {
      "Data": {
        "AllLangs": [
          {
            "Lang": "id-ID",
            "Name": "Bahasa Indonesia"
          },
          {
            "Lang": "da",
            "Name": "Dansk"
          },
          {
            "Lang": "de-DE",
            "Name": "Deutsch"
          },
          {
            "Lang": "en-US",
            "Name": "English"
          },
          {
            "Lang": "es-ES",
            "Name": "Español"
          },
          {
            "Lang": "eo",
            "Name": "Esperanto"
          },
          {
            "Lang": "fil",
            "Name": "Filipino"
          },
          {
            "Lang": "fr-FR",
            "Name": "Français"
          },
          {
            "Lang": "it-IT",
            "Name": "Italiano"
          },
          {
            "Lang": "lv-LV",
            "Name": "Latviešu"
          },
          {
            "Lang": "hu-HU",
            "Name": "Magyar nyelv"
          },
          {
            "Lang": "nl-NL",
            "Name": "Nederlands"
          },
          {
            "Lang": "nds",
            "Name": "Plattdüütsch"
          },
          {
            "Lang": "pl-PL",
            "Name": "Polski"
          },
          {
            "Lang": "pt-PT",
            "Name": "Português de Portugal"
          },
          {
            "Lang": "pt-BR",
            "Name": "Português do Brasil"
          },
          {
            "Lang": "sl",
            "Name": "Slovenščina"
          },
          {
            "Lang": "fi-FI",
            "Name": "Suomi"
          },
          {
            "Lang": "sv-SE",
            "Name": "Svenska"
          },
          {
            "Lang": "tr-TR",
            "Name": "Türkçe"
          },
          {
            "Lang": "cs-CZ",
            "Name": "Čeština"
          },
          {
            "Lang": "el-GR",
            "Name": "Ελληνικά"
          },
          {
            "Lang": "bg",
            "Name": "Български"
          },
          {
            "Lang": "ru-RU",
            "Name": "Русский"
          },
          {
            "Lang": "uk-UA",
            "Name": "Українська"
          },
          {
            "Lang": "fa-IR",
            "Name": "فارسی"
          },
          {
            "Lang": "ja-JP",
            "Name": "日本語"
          },
          {
            "Lang": "zh-CN",
            "Name": "简体中文"
          },
          {
            "Lang": "zh-TW",
            "Name": "繁體中文(台灣)"
          },
          {
            "Lang": "zh-HK",
            "Name": "繁體中文(香港)"
          },
          {
            "Lang": "ko-KR",
            "Name": "한국어"
          }
        ],
        "Context": "[dumped]",
        "CurrentURL": "/",
        "DisableDownloadSourceArchives": false,
        "DisableForks": false,
        "DisableMigrations": false,
        "DisableStars": false,
        "EnableActions": true,
        "EnableOpenIDSignIn": true,
        "EnableSwagger": true,
        "IsLandingPageOrganizations": false,
        "IsRepoIndexerEnabled": false,
        "IsSigned": false,
        "Link": "",
        "OpenGraphDescription": "Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.",
        "PageData": {
          "DATETIMESTRINGS": {
            "FUTURE": "in future",
            "NOW": "now",
            "relativetime.1day": "yesterday",
            "relativetime.1month": "last month",
            "relativetime.1week": "last week",
            "relativetime.1year": "last year"
          },
          "PLURALSTRINGS_FALLBACK": {},
          "PLURALSTRINGS_LANG": {
            "relativetime.days": [
              "%d day ago",
              "%d days ago"
            ],
            "relativetime.hours": [
              "%d hour ago",
              "%d hours ago"
            ],
            "relativetime.mins": [
              "%d minute ago",
              "%d minutes ago"
            ],
            "relativetime.months": [
              "%d month ago",
              "%d months ago"
            ],
            "relativetime.weeks": [
              "%d week ago",
              "%d weeks ago"
            ],
            "relativetime.years": [
              "%d year ago",
              "%d years ago"
            ]
          },
          "PLURAL_RULE_FALLBACK": 0,
          "PLURAL_RULE_LANG": 0
        },
        "PageIsHome": true,
        "PageStartTime": {},
        "RunModeIsProd": false,
        "ShowFooterVersion": true,
        "ShowMilestonesDashboardPage": true,
        "ShowRegistrationButton": false,
        "SignedUserID": 0,
        "SystemConfig": {
          "Picture": {
            "DisableGravatar": {},
            "EnableFederatedAvatar": {}
          },
          "Repository": {
            "OpenWithEditorApps": {}
          }
        },
        "TemplateLoadTimes": "[func() string]",
        "TemplateName": "home",
        "UnitActionsGlobalDisabled": false,
        "UnitIssuesGlobalDisabled": false,
        "UnitProjectsGlobalDisabled": false,
        "UnitPullsGlobalDisabled": false,
        "UnitWikiGlobalDisabled": false
      },
      "Locale": {
        "Lang": "en-US",
        "LangName": "English",
        "Locale": {}
      },
      "Req": {
        "Body": {},
        "Cancel": "[\u003c-chan struct {}]",
        "Close": true,
        "ContentLength": 0,
        "Form": {},
        "GetBody": "[func() (io.ReadCloser, error)]",
        "Header": {
          "Accept": [
            "*/*"
          ],
          "Accept-Encoding": [
            "gzip, br, zstd, deflate"
          ],
          "Connection": [
            "upgrade"
          ],
          "Cookie": [
            "session=b13dd04a0d6f1d05"
          ],
          "User-Agent": [
            "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
          ],
          "X-Forwarded-For": [
            "216.73.217.47"
          ],
          "X-Forwarded-Proto": [
            "https"
          ],
          "X-Real-Ip": [
            "216.73.217.47"
          ]
        },
        "Host": "git.martinshaw.co",
        "Method": "GET",
        "MultipartForm": "[*multipart.Form]",
        "Pattern": "/",
        "PostForm": {},
        "Proto": "HTTP/1.0",
        "ProtoMajor": 1,
        "ProtoMinor": 0,
        "RemoteAddr": "216.73.217.47:0",
        "RequestURI": "/",
        "Response": "[*http.Response]",
        "TLS": "[*tls.ConnectionState]",
        "Trailer": {},
        "TransferEncoding": null,
        "URL": {
          "ForceQuery": false,
          "Fragment": "",
          "Host": "",
          "OmitHost": false,
          "Opaque": "",
          "Path": "",
          "RawFragment": "",
          "RawPath": "/",
          "RawQuery": "",
          "Scheme": "",
          "User": "[*url.Userinfo]"
        }
      },
      "Resp": {
        "ResponseWriter": {
          "ResponseWriter": {
            "ResponseWriter": {}
          }
        }
      }
    },
    "Cache": {},
    "ContextUser": "[*user.User]",
    "Doer": "[*user.User]",
    "Flash": {
      "DataStore": "[dumped]",
      "ErrorMsg": "",
      "InfoMsg": "",
      "SuccessMsg": "",
      "Values": {},
      "WarningMsg": ""
    },
    "IsBasicAuth": false,
    "IsSigned": false,
    "Link": "",
    "Org": {
      "CanCreateOrgRepo": false,
      "IsMember": false,
      "IsOwner": false,
      "IsTeamAdmin": false,
      "IsTeamMember": false,
      "OrgLink": "",
      "Organization": "[*organization.Organization]",
      "Team": "[*organization.Team]",
      "Teams": null
    },
    "Package": "[*context.Package]",
    "PageData": {
      "DATETIMESTRINGS": {
        "FUTURE": "in future",
        "NOW": "now",
        "relativetime.1day": "yesterday",
        "relativetime.1month": "last month",
        "relativetime.1week": "last week",
        "relativetime.1year": "last year"
      },
      "PLURALSTRINGS_FALLBACK": {},
      "PLURALSTRINGS_LANG": {
        "relativetime.days": [
          "%d day ago",
          "%d days ago"
        ],
        "relativetime.hours": [
          "%d hour ago",
          "%d hours ago"
        ],
        "relativetime.mins": [
          "%d minute ago",
          "%d minutes ago"
        ],
        "relativetime.months": [
          "%d month ago",
          "%d months ago"
        ],
        "relativetime.weeks": [
          "%d week ago",
          "%d weeks ago"
        ],
        "relativetime.years": [
          "%d year ago",
          "%d years ago"
        ]
      },
      "PLURAL_RULE_FALLBACK": 0,
      "PLURAL_RULE_LANG": 0
    },
    "Render": {},
    "Repo": {
      "BranchName": "",
      "CloneLink": {
        "HTTPS": "",
        "SSH": ""
      },
      "Commit": "[*git.Commit]",
      "CommitID": "",
      "CommitsCount": 0,
      "GitRepo": "[*git.Repository]",
      "IsViewBranch": false,
      "IsViewCommit": false,
      "IsViewTag": false,
      "IsWatching": false,
      "Owner": "[*user.User]",
      "Permission": {
        "AccessMode": 0,
        "Units": null,
        "UnitsMode": {}
      },
      "PullRequest": {
        "Allowed": false,
        "BaseRepo": "[*repo.Repository]",
        "HeadInfoSubURL": "",
        "SameRepo": false
      },
      "RefName": "",
      "RepoLink": "",
      "Repository": "[*repo.Repository]",
      "Tag": "[*git.Tag]",
      "TagName": "",
      "TreePath": ""
    },
    "Session": {
      "Manager": {},
      "RawStore": {}
    },
    "TemplateContext": {
      "AvatarUtils": {},
      "Context": "[dumped]",
      "Data": {
        "AllLangs": [
          {
            "Lang": "id-ID",
            "Name": "Bahasa Indonesia"
          },
          {
            "Lang": "da",
            "Name": "Dansk"
          },
          {
            "Lang": "de-DE",
            "Name": "Deutsch"
          },
          {
            "Lang": "en-US",
            "Name": "English"
          },
          {
            "Lang": "es-ES",
            "Name": "Español"
          },
          {
            "Lang": "eo",
            "Name": "Esperanto"
          },
          {
            "Lang": "fil",
            "Name": "Filipino"
          },
          {
            "Lang": "fr-FR",
            "Name": "Français"
          },
          {
            "Lang": "it-IT",
            "Name": "Italiano"
          },
          {
            "Lang": "lv-LV",
            "Name": "Latviešu"
          },
          {
            "Lang": "hu-HU",
            "Name": "Magyar nyelv"
          },
          {
            "Lang": "nl-NL",
            "Name": "Nederlands"
          },
          {
            "Lang": "nds",
            "Name": "Plattdüütsch"
          },
          {
            "Lang": "pl-PL",
            "Name": "Polski"
          },
          {
            "Lang": "pt-PT",
            "Name": "Português de Portugal"
          },
          {
            "Lang": "pt-BR",
            "Name": "Português do Brasil"
          },
          {
            "Lang": "sl",
            "Name": "Slovenščina"
          },
          {
            "Lang": "fi-FI",
            "Name": "Suomi"
          },
          {
            "Lang": "sv-SE",
            "Name": "Svenska"
          },
          {
            "Lang": "tr-TR",
            "Name": "Türkçe"
          },
          {
            "Lang": "cs-CZ",
            "Name": "Čeština"
          },
          {
            "Lang": "el-GR",
            "Name": "Ελληνικά"
          },
          {
            "Lang": "bg",
            "Name": "Български"
          },
          {
            "Lang": "ru-RU",
            "Name": "Русский"
          },
          {
            "Lang": "uk-UA",
            "Name": "Українська"
          },
          {
            "Lang": "fa-IR",
            "Name": "فارسی"
          },
          {
            "Lang": "ja-JP",
            "Name": "日本語"
          },
          {
            "Lang": "zh-CN",
            "Name": "简体中文"
          },
          {
            "Lang": "zh-TW",
            "Name": "繁體中文(台灣)"
          },
          {
            "Lang": "zh-HK",
            "Name": "繁體中文(香港)"
          },
          {
            "Lang": "ko-KR",
            "Name": "한국어"
          }
        ],
        "Context": "[dumped]",
        "CurrentURL": "/",
        "DisableDownloadSourceArchives": false,
        "DisableForks": false,
        "DisableMigrations": false,
        "DisableStars": false,
        "EnableActions": true,
        "EnableOpenIDSignIn": true,
        "EnableSwagger": true,
        "IsLandingPageOrganizations": false,
        "IsRepoIndexerEnabled": false,
        "IsSigned": false,
        "Link": "",
        "OpenGraphDescription": "Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.",
        "PageData": {
          "DATETIMESTRINGS": {
            "FUTURE": "in future",
            "NOW": "now",
            "relativetime.1day": "yesterday",
            "relativetime.1month": "last month",
            "relativetime.1week": "last week",
            "relativetime.1year": "last year"
          },
          "PLURALSTRINGS_FALLBACK": {},
          "PLURALSTRINGS_LANG": {
            "relativetime.days": [
              "%d day ago",
              "%d days ago"
            ],
            "relativetime.hours": [
              "%d hour ago",
              "%d hours ago"
            ],
            "relativetime.mins": [
              "%d minute ago",
              "%d minutes ago"
            ],
            "relativetime.months": [
              "%d month ago",
              "%d months ago"
            ],
            "relativetime.weeks": [
              "%d week ago",
              "%d weeks ago"
            ],
            "relativetime.years": [
              "%d year ago",
              "%d years ago"
            ]
          },
          "PLURAL_RULE_FALLBACK": 0,
          "PLURAL_RULE_LANG": 0
        },
        "PageIsHome": true,
        "PageStartTime": {},
        "RunModeIsProd": false,
        "ShowFooterVersion": true,
        "ShowMilestonesDashboardPage": true,
        "ShowRegistrationButton": false,
        "SignedUserID": 0,
        "SystemConfig": {
          "Picture": {
            "DisableGravatar": {},
            "EnableFederatedAvatar": {}
          },
          "Repository": {
            "OpenWithEditorApps": {}
          }
        },
        "TemplateLoadTimes": "[func() string]",
        "TemplateName": "home",
        "UnitActionsGlobalDisabled": false,
        "UnitIssuesGlobalDisabled": false,
        "UnitProjectsGlobalDisabled": false,
        "UnitPullsGlobalDisabled": false,
        "UnitWikiGlobalDisabled": false
      },
      "Locale": {
        "Lang": "en-US",
        "LangName": "English",
        "Locale": {}
      }
    }
  },
  "CurrentURL": "/",
  "DisableDownloadSourceArchives": false,
  "DisableForks": false,
  "DisableMigrations": false,
  "DisableStars": false,
  "EnableActions": true,
  "EnableOpenIDSignIn": true,
  "EnableSwagger": true,
  "IsLandingPageOrganizations": false,
  "IsRepoIndexerEnabled": false,
  "IsSigned": false,
  "Link": "",
  "OpenGraphDescription": "Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.",
  "PageData": {
    "DATETIMESTRINGS": {
      "FUTURE": "in future",
      "NOW": "now",
      "relativetime.1day": "yesterday",
      "relativetime.1month": "last month",
      "relativetime.1week": "last week",
      "relativetime.1year": "last year"
    },
    "PLURALSTRINGS_FALLBACK": {},
    "PLURALSTRINGS_LANG": {
      "relativetime.days": [
        "%d day ago",
        "%d days ago"
      ],
      "relativetime.hours": [
        "%d hour ago",
        "%d hours ago"
      ],
      "relativetime.mins": [
        "%d minute ago",
        "%d minutes ago"
      ],
      "relativetime.months": [
        "%d month ago",
        "%d months ago"
      ],
      "relativetime.weeks": [
        "%d week ago",
        "%d weeks ago"
      ],
      "relativetime.years": [
        "%d year ago",
        "%d years ago"
      ]
    },
    "PLURAL_RULE_FALLBACK": 0,
    "PLURAL_RULE_LANG": 0
  },
  "PageIsHome": true,
  "PageStartTime": {},
  "RunModeIsProd": false,
  "ShowFooterVersion": true,
  "ShowMilestonesDashboardPage": true,
  "ShowRegistrationButton": false,
  "SignedUserID": 0,
  "SystemConfig": {
    "Picture": {
      "DisableGravatar": {},
      "EnableFederatedAvatar": {}
    },
    "Repository": {
      "OpenWithEditorApps": {}
    }
  },
  "TemplateLoadTimes": "[func() string]",
  "TemplateName": "home",
  "UnitActionsGlobalDisabled": false,
  "UnitIssuesGlobalDisabled": false,
  "UnitProjectsGlobalDisabled": false,
  "UnitPullsGlobalDisabled": false,
  "UnitWikiGlobalDisabled": false
}

A painless, self-hosted Git service

Easy to install

Simply run the binary for your platform, ship it with Docker, or get it packaged.

Cross-platform

Forgejo is confirmed to run on libre operating systems like Linux and FreeBSD, as well as different CPU architectures. Choose the one you love!

Lightweight

Forgejo has low minimal requirements and can run on an inexpensive Raspberry Pi. Save your machine energy!

Open Source

Go get Forgejo! Join us by contributing to make this project even better. Don't be shy to be a contributor!