2022-09-06 13:34:25 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" / >
< meta name = "viewport" content = "width=device-width" / >
< link rel = "apple-touch-icon" sizes = "180x180" href = "/apple-touch-icon.png" / >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/favicon-32x32.png" / >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/favicon-16x16.png" / >
< link rel = "manifest" href = "/site.webmanifest" / >
< link rel = "me" href = "https://pouet.chapril.org/@gna" / >
< link rel = "stylesheet" href = "https://gna.org/main.css" / >
< link
rel="stylesheet"
media="screen and (max-width: 1300px)"
href="https://gna.org/mobile.css"
/>
< meta name = "referrer" content = "no-referrer-when-downgrade" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< link rel = "stylesheet" href = "https://gna.org/main.css" / >
< link
rel="stylesheet"
media="screen and (max-width: 1300px)"
href="https://gna.org/mobile.css"
/>
< meta name = "referrer" content = "no-referrer-when-downgrade" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2023-01-09 09:59:43 +00:00
< title > Posts | Gna!: Managed Forgejo Hosting < / title >
2022-09-06 13:34:25 +00:00
< meta name = "referrer" content = "no-referrer-when-downgrade" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2023-01-09 09:59:43 +00:00
< meta name = "description" content = "The Gna! Blog: we write about Forgejo, Free Software and the general forge ecosystem" / >
2022-09-06 13:34:25 +00:00
2023-01-09 09:59:43 +00:00
< meta property = "og:title" content = "Posts | Gna!: Managed Forgejo Hosting " / >
2022-09-06 13:34:25 +00:00
< meta property = "og:type" content = "article" / >
< meta property = "og:url" content = "https://gna.org" / >
2023-01-09 09:59:43 +00:00
< meta property = "og:description" content = "The Gna! Blog: we write about Forgejo, Free Software and the general forge ecosystem" / >
2022-09-06 13:34:25 +00:00
< meta
property="og:site_name"
2023-01-09 09:59:43 +00:00
content="Posts | Gna!: Managed Forgejo Hosting "
2022-09-06 13:34:25 +00:00
/>
< link
rel="apple-touch-icon"
sizes="57x57"
href="https://gna.org/apple-icon-57x57.png?h=c21de14cfdf862a6472ae977557fa048a7c36d39337e61d3274705e9bd8e857f"
/>
< link
rel="apple-touch-icon"
sizes="60x60"
href="https://gna.org/apple-icon-60x60.png?h=67089d9025a52d0d1ddce450078c7acefe2c150a2427dec9f5e13c6314f74281"
/>
< link
rel="apple-touch-icon"
sizes="72x72"
href="https://gna.org/apple-icon-72x72.png?h=70725943de8884804f9da28202ced0ad6fed483ae9cf8f6d874aa133e30cb693"
/>
< link
rel="apple-touch-icon"
sizes="76x76"
href="https://gna.org/apple-icon-76x76.png?h=1e6e8072df3b21bdcea254a42aac6e993611e845f91ddd79f6f35a6c441710a5"
/>
< link
rel="apple-touch-icon"
sizes="114x114"
href="https://gna.org/apple-icon-114x114.png?h=c20099f8190ed3962fab5726c5594857a871cdb3ee98439343c622cd3727fed6"
/>
< link
rel="apple-touch-icon"
sizes="120x120"
href="https://gna.org/apple-icon-120x120.png?h=4df78e402e60b58c6d44764678bdd737b5b6a836aeb85fb75fa49f706f7e8c81"
/>
< link
rel="apple-touch-icon"
sizes="144x144"
href="https://gna.org/apple-icon-144x144.png?h=0c44e6655d714f89ee95cc151032d1f0dc3204bd24d1ca2ee9d94692d4ede84d"
/>
< link
rel="apple-touch-icon"
sizes="152x152"
href="https://gna.org/apple-icon-152x152.png?h=157918f883ff95d4eeb6452d0ebb61ca5e21ea0dcac1aefe825f3e2f3999052f"
/>
< link
rel="apple-touch-icon"
sizes="180x180"
href="https://gna.org/apple-icon-180x180.png?h=7d5c16d379b7db6d8ea5aae64921d7162b84f543763acd8fc7c107f80a600213"
/>
< link
rel="icon"
type="image/png"
sizes="192x192"
href="https://gna.org/android-icon-192x192.png?h=095e3835b082dba07f606c33fa6f71bcd671a71e987b0ab2e46dcddceef52b9c"
/>
< link
rel="icon"
type="image/png"
sizes="32x32"
href="https://gna.org/favicon-32x32.png?h=1bf54bf111572b1d1639192b5360ee4345f702e563aa71bb66610a95a7290437"
/>
< link
rel="icon"
type="image/png"
sizes="96x96"
href="https://gna.org/favicon-96x96.png?h=5a6ed96c09f5055526e3b236867a1272a26f7ba957d48b267bccd51ef0845fbe"
/>
< link
rel="icon"
type="image/png"
sizes="16x16"
href="https://gna.org/favicon-16x16.png?h=1e5fa59ae78516055f662e40bb2599dc3828a7adb34567e9d8d2cfcaa6b7aa5f"
/>
< link
rel="manifest"
href="https://gna.org/manifest.json?h=27eca3e8297eb7ff340deb3849b210185a459b3845456aa4d0036f6d966b3518"
/>
< meta name = "msapplication-TileColor" content = "#ffffff" / >
< meta
name="msapplication-TileImage"
content="https://gna.org/ms-icon-144x144.png?h=8170ab51b871b84b8f98bd03cf441afdffb2998b7dfffb04abb7ebf5deeb1f94"
/>
< meta name = "theme-color" content = "#ffffff" / >
< / head >
< / head >
< body class = "base" >
< header >
< nav class = "nav__container" >
< input type = "checkbox" class = "nav__toggle" id = "nav__toggle" / >
< div class = "nav__header" >
< a class = "nav__logo-container" href = "/" >
< img src = "https://gna.org/gna-logo-rectangle-48px.png?h=ba9eab043277265f94c51b87d5e14f9ca35789403ecb8afc9bd1e33b13c6a2a5" alt = "Gna!" / >
< / a >
< label class = "nav__hamburger-menu" for = "nav__toggle" >
< span class = "nav__hamburger-inner" > < / span >
< / label >
< / div >
< div class = "nav__spacer--small" > < / div >
< div class = "nav__link-group" >
< div class = "nav__link-container" >
< a class = "nav__link" rel = "noreferrer" href = "/about/" > About< / a >
< / div >
< div class = "nav__link-container" >
< a class = "nav__link" rel = "noreferrer" href = "/blog/" > Blog< / a >
< / div >
< div class = "nav__link-container" >
< a class = "nav__link" rel = "noreferrer" href = "https://matrix.to/#/#gna:matrix.batsense.net" > Chat< / a >
< / div >
< div class = "nav__link-container" >
2023-01-09 09:59:43 +00:00
< a class = "nav__link" rel = "noreferrer" href = "/forgejo-clinic/" > Clinic< / a >
2022-09-06 13:34:25 +00:00
< / div >
< div class = "nav__link-container" >
< a class = "nav__link" rel = "noreferrer" href = "https://forum.gna.org" > Forum< / a >
< / div >
< div class = "nav__link-container" >
< a class = "nav__link" rel = "noreferrer" href = "https://pouet.chapril.org/@gna" > Mastodon< / a >
< / div >
< / div >
< div class = "nav__spacer" > < / div >
< div class = "nav__link-group--small" >
< div class = "nav__link-container" >
< a class = "nav__link" rel = "noreferrer" href = "https://hosteadashboard.gna.org/login/" > Login< / a >
< / div >
< div class = "nav__link-container--action" >
< a class = "nav__link" rel = "noreferrer" href = "https://hosteadashboard.gna.org/register/" > Join< / a >
< / div >
< / div >
< / nav >
< / header >
<!-- See ../sass/main.scss. Required for pushing footer to the very
bottom of the page -->
< div class = "main__content-container" >
< main >
< div class = "blog__container" >
< h1 class = "blog__title" > Posts< / h1 >
2023-01-09 09:59:43 +00:00
< p > Gna! is a < a href = "https://gna.org/forgejo-clinic" > Clinic< / a > to get help when a Forgejo instance throws errors after an upgrade and the admin is not sure how to troubleshoot the problem. It opened in May 2022 and welcomes new patients. It will also provide dedicated Forgejo hosting, including CI and more: subscribe < a href = "https://hostea.org/blog/atom.xml" > to the blog< / a > or the < a rel = "me" href = "https://mastodon.online/@hostea" > Mastodon account< / a > to keep up to date.< / p >
2022-09-06 13:34:25 +00:00
< ul class = "blog__list" >
2022-10-25 09:23:47 +00:00
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/1-17-2-migration-security/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [security] Gitea < 1.17.2 bypassing URL restrictions during migration explained< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 24
October
,
2022 · < b > 2 min read< / b >
< / p >
< p class = "blog__post-description" > Prior to Gitea 1.17.2 a malicious Gitea server could be used to request local files using the migration web interface or the REST API. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/security" > #security< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< a class = "blog__post-tag" href = "/tags/upgrade" > #upgrade< / a >
< a class = "blog__post-tag" href = "/tags/solution" > #solution< / a >
< / div >
< / li >
2022-10-17 07:34:40 +00:00
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/1-17-3-git-security/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [security] Gitea < 1.17.3 git option injection explained< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 17
October
,
2022 · < b > 2 min read< / b >
< / p >
2022-10-19 15:31:50 +00:00
< p class = "blog__post-description" > Prior to Gitea 1.17.3 the web interface that displays the commit graph could be used to inject git options used by the Gitea server. < / p >
2022-10-17 07:34:40 +00:00
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/security" > #security< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< a class = "blog__post-tag" href = "/tags/upgrade" > #upgrade< / a >
< a class = "blog__post-tag" href = "/tags/solution" > #solution< / a >
< / div >
< / li >
2022-09-06 13:34:25 +00:00
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/1-17-breaking-episode-2/" class = "blog__post-link" >
< h2 class = "blog__post-title" > 1.17 breaking changes episode 2: preserving a custom gitconfig< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 20
July
,
2022 · < b > 2 min read< / b >
< / p >
< p class = "blog__post-description" > The location of the gitconfig file used by Gitea moved twice, here is a guide to sort out why and how to deal with it. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< a class = "blog__post-tag" href = "/tags/tutorial" > #tutorial< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/experimental/" class = "blog__post-link" >
< h2 class = "blog__post-title" > Get a Gitea instance with CI at Gna!< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 10
July
,
2022 · < b > 5 min read< / b >
< / p >
< p class = "blog__post-description" > It is now possible to rent a Gitea instance by the month, with Woodpecker CI. A self-hostable hosting solution supported by a horizontal collective of individuals and organizations. 25% of the income is dedicated to help the Free Software projects it depends on such as Gitea, Enough, Django, etc. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/federation" > #federation< / a >
< a class = "blog__post-tag" href = "/tags/forgefriends" > #forgefriends< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/1-17-breaking-episode-1/" class = "blog__post-link" >
< h2 class = "blog__post-title" > 1.17 breaking changes episode 1: preserving a custom gitconfig< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 22
June
,
2022 · < b > 2 min read< / b >
< / p >
< p class = "blog__post-description" > The location of the gitconfig file used by Gitea moved and custom modifications must be manually moved as well. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< a class = "blog__post-tag" href = "/tags/tutorial" > #tutorial< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/gentle-introduction-to-the-doctor/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [tutorial] A gentle introduction to the gitea doctor< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 14
June
,
2022 · < b > 7 min read< / b >
< / p >
< p class = "blog__post-description" > The doctor command is useful to check the health of a running Gitea instance. Specially after performing an upgrade. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< a class = "blog__post-tag" href = "/tags/tutorial" > #tutorial< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/zombies-part-2/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [solved] Zombies created by Gitea< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 4
June
,
2022 · < b > 3 min read< / b >
< / p >
< p class = "blog__post-description" > Gitea can use process groups to kill its children using a negative PID to never create zombies. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/zombies/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [diagnostic] Zombies created by Gitea< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 2
June
,
2022 · < b > 4 min read< / b >
< / p >
< p class = "blog__post-description" > An increasing number of zombies processes are created by Gitea because it only kills its direct children on timeout. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/path-not-found/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [solved] Gitea 1.15 and up: path not found or permission denied< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 28
May
,
2022 · < b > 3 min read< / b >
< / p >
< p class = "blog__post-description" > After migrating from 1.15 or earlier to gitea 1.16 paths are no longer found and files cannot be created because of permission problems because the default example.ini file changed. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/upgrade" > #upgrade< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/unsafe-repository-is-owned-by-someone-else/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [solved] Gitea 1.16.[678] error: fatal: unsafe repository is owned by someone else< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 15
May
,
2022 · < b > 4 min read< / b >
< / p >
< p class = "blog__post-description" > If Gitea runs as user git, calls a patched Git version and a parent directory of the git repositories is owned by a user other than git, it will fail. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/upgrade" > #upgrade< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/blank-or-error-500-page-after-login/" class = "blog__post-link" >
< h2 class = "blog__post-title" > [solved] blank or error 500 page after login< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 8
May
,
2022 · < b > 6 min read< / b >
< / p >
< p class = "blog__post-description" > After going to production, some Gitea users saw a blank page after login and had to manually type the URL of the project they wanted to see in the browser. < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/upgrade" > #upgrade< / a >
< a class = "blog__post-tag" href = "/tags/troubleshoot" > #troubleshoot< / a >
< a class = "blog__post-tag" href = "/tags/problem" > #problem< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/22-04-2022-hostea-introducing-hostea-forgefriends-monthly-meet/" class = "blog__post-link" >
< h2 class = "blog__post-title" > Introducing Gna!< / h2 >
< p class = "blog__post-meta" >
< a href = "https://batsense.net" class = "post__author" > Aravinth Manivannan< / a >
· 22
April
,
2022 · < b > 1 min read< / b >
< / p >
< p class = "blog__post-description" > Introducing Hostea, a project Loïc Dachary and Aravinth Manivannan are working on to create a 100% Free software development suite, complete with CI/CD, static pages and gists < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/hostea" > #hostea< / a >
< a class = "blog__post-tag" href = "/tags/forgefriends" > #forgefriends< / a >
< / div >
< / li >
< li class = "blog__post-item" >
< a href = "https://gna.org/blog/project-plans-for-hosted-gitea-online-service/" class = "blog__post-link" >
< h2 class = "blog__post-title" > Project plans for a hosted Gitea online service< / h2 >
< p class = "blog__post-meta" >
< a href = "https://dachary.org" class = "post__author" > Loïc Dachary< / a >
· 18
April
,
2022 · < b > 11 min read< / b >
< / p >
< p class = "blog__post-description" > When an organization asks me about Gitea, I would like to direct them to a provider where they can rent an instance and just use it < / p >
< / a >
< div class = "blog__post-tag-container" >
< a class = "blog__post-tag" href = "/tags/gna" > #gna< / a >
< a class = "blog__post-tag" href = "/tags/gitea" > #gitea< / a >
< a class = "blog__post-tag" href = "/tags/free-software" > #free-software< / a >
< a class = "blog__post-tag" href = "/tags/free-software-sustainability" > #free-software-sustainability< / a >
< / div >
< / li >
< / ul >
< / div >
< link rel = "alternate" type = "application/rss+xml" title = "RSS" href = "https://gna.org/rss.xml" >
< / main >
< footer >
< div class = "footer__container" >
<!-- <div class="footer__column"> - -->
< p class = "footer__column license__conatiner" >
All text < a
class="license__link"
rel="noreferrer"
href="http://creativecommons.org/licenses/by-sa/4.0/"
target="_blank"
> CC-BY-SA < /a
>
& code
< a
class="license__link"
rel="noreferrer"
href="https://www.gnu.org/licenses/agpl-3.0.en.html"
target="_blank"
> AGPL < /a
>
|
< a
class="license__link"
rel="noreferrer"
href="https://www.eff.org/issues/do-not-track/amp/"
target="_blank"
> No AMP < /a
>
< / p >
<!-- </div> -->
< div class = "footer__column--center" >
< a href = "/blog/atom.xml" target = "_blank" rel = "noopener" title = "RSS" >
< img
src="https://gna.org/icons/rss.svg?h=f6cd584bdbcd2eb4d1b8b84c9cf083ef45f772167c33fdcee754b35ae8ff4c7d"
class="footer__icon"
alt="Email icon"
/>
< / a >
< / div >
< div class = "footer__column" >
< a href = "/about" title = "About" > About< / a >
< a href = "/coc" title = "Code of Conduct" > CoC< / a >
< span class = "footer__column-divider--mobile-only" > |< / span >
< a href = "/legalese" title = "Legalese" > Legalese< / a >
< a href = "/privacy-policy" title = "Privacy Policy" > Privacy< / a >
< span class = "footer__column-divider--mobile-only" > |< / span >
< a
2023-01-09 09:59:43 +00:00
href="https://forgejo.gna.org/Gna"
2022-09-06 13:34:25 +00:00
rel="noreferrer"
target="_blank"
title="Status"
>Source Code< /a
>
< a href = "/tos" title = "Terms of Service" > ToS< / a >
< / div >
< / div >
< / footer >
< / div >
< / body >
< / html >