327 lines
13 KiB
HTML
327 lines
13 KiB
HTML
<!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" />
|
|
|
|
<title>[solved] Gitea 1.15 and up: path not found or permission denied | Gna!: Managed Forgejo Hosting </title>
|
|
<meta name="referrer" content="no-referrer-when-downgrade" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
<meta name="description" content="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." />
|
|
|
|
|
|
<meta property="og:title" content="[solved] Gitea 1.15 and up: path not found or permission denied | Gna!: Managed Forgejo Hosting " />
|
|
<meta property="og:type" content="article" />
|
|
<meta property="og:url" content="https://gna.org" />
|
|
|
|
<meta property="og:description" content="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." />
|
|
<meta
|
|
property="og:site_name"
|
|
content="[solved] Gitea 1.15 and up: path not found or permission denied | Gna!: Managed Forgejo Hosting "
|
|
/>
|
|
<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">
|
|
<a class="nav__link" rel="noreferrer" href="/forgejo-clinic/">Clinic</a>
|
|
</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="page__container">
|
|
<h1 class="page__group-title">[solved] Gitea 1.15 and up: path not found or permission denied</h1>
|
|
<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>
|
|
|
|
|
|
<div class="blog__content">
|
|
<p>In Gitea 1.15 the <a href="https://github.com/go-gitea/gitea/blob/cfb4c23a5009b9c236d48ac0bc156577c7d70741/custom/conf/app.example.ini">app.example.ini</a> file was changed to <a href="https://github.com/go-gitea/gitea/commit/4a84022d2559ccfc99960c7c654ee8b9b38664f7">comment out most of the values</a>. The assumption was that all values exactly matched the defaults <a href="https://github.com/go-gitea/gitea/blob/main/modules/setting/setting.go">in the source code</a>. However, there are differences, for instance for <a href="https://github.com/go-gitea/gitea/blob/cfb4c23a5009b9c236d48ac0bc156577c7d70741/modules/setting/setting.go#L771">APP_DATA_PATH</a>. Before Gitea 1.15, <code>app.example.ini</code> contained:</p>
|
|
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>APP_DATA_PATH = data
|
|
</span></code></pre>
|
|
<p>and the path was relative to the <strong>directory from which the Gitea server was running</strong>. In Gitea 1.15 up to 1.16, it was commented out:</p>
|
|
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>; APP_DATA_PATH = data
|
|
</span></code></pre>
|
|
<p>and the path was relative to the <strong>work path directory</strong>, as provided either via the --work-path argument or the <code>GITEA_WORK_DIR</code> environment variable. </p>
|
|
<p>When a distribution such as voidlinux <a href="https://github.com/void-linux/void-packages/blob/master/srcpkgs/gitea/patches/config.patch">uses app.example.ini</a> as a base for the Gitea package, this change indirectly creates a regression and an upgrade of Gitea <a href="https://github.com/go-gitea/gitea/issues/19367">fails with errors</a> such as <code>unable to open level db at data/data/queues/common: mkdir data: permission denied</code>. The regression did not show as soon as Gitea 1.15 became available in voidlinux because the package <a href="https://github.com/void-linux/void-packages/blob/7fc9190f0e0d557dd5031e68df4e183892d4315b/srcpkgs/gitea/patches/config.patch#L62">explicitly set <code>APP_DATA_PATH</code></a>. But this <a href="https://github.com/void-linux/void-packages/commit/19d986a2cae9ce73d32552ddb62443b5e7fa13e2">changed when Gitea 1.15.6 was packaged</a> and once the value was commented out, upgrading triggered the problem. This was worked around six month later with the <a href="https://github.com/void-linux/void-packages/commit/44b6c96fa12ce9d993c7a2ac9486d892735b7e3a">Gitea 1.16.8</a> package.</p>
|
|
<p>The <code>APP_DATA_PATH</code> directory is not the only one, the <code>[log] ROOT_PATH</code> is another example. There is an <a href="https://github.com/go-gitea/gitea/pull/19815">ongoing effort</a> to improve the situation in Gitea 1.17. With the downside of introducing breaking changes that will have an impact on all Gitea installations because the content of the <code>app.ini</code> file will be interpreted differently. In the case of <code>APP_DATA_PATH</code>, both:</p>
|
|
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>APP_DATA_PATH = data
|
|
</span></code></pre>
|
|
<p>and:</p>
|
|
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>; APP_DATA_PATH = data
|
|
</span></code></pre>
|
|
<p>will be interpreted to be relative to the <strong>work path directory</strong>, as provided either via the --work-path argument or the <code>GITEA_WORK_DIR</code> environment variable. Every Gitea installation using <strong>APP_DATA_PATH = data</strong> will need to update the value to be an absolute path such as <strong>/var/lib/gitea/data</strong> so that it keeps pointing to the expected directory.</p>
|
|
<p>In order to prepare for the change or ensure the consistency of all path, there fortunately is a very simple <strong>solution: always use absolute paths in the <code>app.ini</code> configuration file</strong>.</p>
|
|
|
|
</div>
|
|
<br>
|
|
<br>
|
|
<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>
|
|
|
|
</div>
|
|
|
|
|
|
</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
|
|
href="https://forgejo.gna.org/Gna"
|
|
rel="noreferrer"
|
|
target="_blank"
|
|
title="Status"
|
|
>Source Code</a
|
|
>
|
|
<a href="/tos" title="Terms of Service">ToS</a>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|