1385 lines
99 KiB
HTML
Executable File
1385 lines
99 KiB
HTML
Executable File
<!-- Saved from local source at 2024-12-27T18:39:34Z using monolith v2.8.3 -->
|
||
<!DOCTYPE html><html lang="en" data-figures="true" class="page"><head><meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-eval' 'unsafe-inline' data:; font-src 'none'; script-src 'none';"></meta>
|
||
<title>Gitea | BL-oG</title>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
||
<meta property="og:locale" content="en">
|
||
|
||
<meta property="og:type" content="article">
|
||
<meta name="description" content="Auto-héberger une forge GIT avec Gitea">
|
||
<meta name="twitter:card" content="summary">
|
||
<meta name="twitter:creator" content="@levassb">
|
||
<meta name="twitter:title" content="Gitea">
|
||
<meta property="og:url" content="https://blog.levassb.ovh/post/gitea/">
|
||
<meta property="og:title" content="Gitea">
|
||
<meta property="og:description" content="Auto-héberger une forge GIT avec Gitea">
|
||
<meta property="og:image" content="https://blog.levassb.ovh/images/gitea.jpg">
|
||
|
||
<link rel="apple-touch-icon" sizes="180x180" href="https://blog.levassb.ovh/icons/apple-touch-icon.png">
|
||
<link rel="icon" type="image/png" sizes="32x32" href="https://blog.levassb.ovh/icons/favicon-32x32.png">
|
||
<link rel="manifest" href="https://blog.levassb.ovh/icons/site.webmanifest">
|
||
|
||
<link rel="canonical" href="https://blog.levassb.ovh/post/gitea/">
|
||
|
||
|
||
|
||
|
||
|
||
<link href="https://blog.levassb.ovh/css/styles.ee3b9488ef041710052f5c22837bf044d13ac251377aac559881157179229b04be4ae0027ad7b3c9b0cf469d0b37c82b8fcc5956709efe67b73f0e08a76bba3d.css" integrity="sha512-7juUiO8EFxAFL1wig3vwRNE6wlE3eqxVmIEVcXkimwS+SuACetezybDPRp0LN8grj8xZVnCe/me3Pw4Ip2u6PQ==" as="style" crossorigin="anonymous">
|
||
<link href="https://blog.levassb.ovh/js/bundle.min.eb436f5fa53f940b87c5fff22b7a5ff21d8e1a755411de5197a962bc1ceab4491d6492b2d9cb6e2763c8d66098d9045411b988628217da75dc160b3e1b5766a2.js" as="script" integrity="sha512-60NvX6U/lAuHxf/yK3pf8h2OGnVUEd5Rl6livBzqtEkdZJKy2ctuJ2PI1mCY2QRUEbmIYoIX2nXcFgs+G1dmog==" crossorigin="anonymous">
|
||
|
||
|
||
<link rel="stylesheet" type="text/css" href="https://blog.levassb.ovh/css/styles.ee3b9488ef041710052f5c22837bf044d13ac251377aac559881157179229b04be4ae0027ad7b3c9b0cf469d0b37c82b8fcc5956709efe67b73f0e08a76bba3d.css" integrity="sha512-7juUiO8EFxAFL1wig3vwRNE6wlE3eqxVmIEVcXkimwS+SuACetezybDPRp0LN8grj8xZVnCe/me3Pw4Ip2u6PQ==" crossorigin="anonymous">
|
||
|
||
<base href="https://blog.levassb.ovh/post/gitea/"></base></head>
|
||
|
||
|
||
|
||
|
||
|
||
<body data-code="20" data-lines="false" id="documentTop">
|
||
|
||
<header class="nav_header">
|
||
<nav class="nav"><a href="https://blog.levassb.ovh/" class="nav_brand nav_item" title="BL-oG">BL-oG
|
||
<div class="nav_close">
|
||
<div><svg class="icon">
|
||
<use xlink:href="#open-menu"></use>
|
||
</svg><svg class="icon">
|
||
<use xlink:href="#closeme"></use>
|
||
</svg></div>
|
||
</div>
|
||
</a>
|
||
|
||
<div class="nav_body nav_body_left">
|
||
|
||
|
||
|
||
|
||
|
||
<div class="nav_parent">
|
||
<a href="https://blog.levassb.ovh/" class="nav_item" title="Home">Home </a>
|
||
</div>
|
||
<div class="nav_parent">
|
||
<a href="https://blog.levassb.ovh/" class="nav_item" title="Links">Links <img src="https://blog.levassb.ovh/icons/caret-icon.svg" alt="icon" class="nav_icon"></a>
|
||
<div class="nav_sub">
|
||
<span class="nav_child"></span>
|
||
<a href="https://bookmark.levassb.ovh/guest/links" class="nav_child nav_item" title="Veille Techno" target="_blank" rel="noopener">Veille Techno</a>
|
||
</div>
|
||
</div>
|
||
<div class="nav_parent">
|
||
<a href="https://blog.levassb.ovh/about/" class="nav_item" title="About">About </a>
|
||
</div>
|
||
<div class="nav_parent">
|
||
<a href="https://resume.levassb.ovh" class="nav_item" title="Mon CV" target="_blank" rel="noopener">Mon CV </a>
|
||
</div>
|
||
|
||
<div class="follow">
|
||
|
||
|
||
<a href="https://gitlab.univ-rouen.fr/bruno.levasseur" target="_blank" rel="noopener">
|
||
<svg class="icon">
|
||
<use xlink:href="#github"></use>
|
||
</svg>
|
||
</a>
|
||
|
||
|
||
<a href="https://twitter.com/levassb" target="_blank" rel="noopener">
|
||
<svg class="icon">
|
||
<use xlink:href="#twitter"></use>
|
||
</svg>
|
||
</a>
|
||
|
||
|
||
|
||
<a href="https://blog.levassb.ovh/index.xml">
|
||
<svg class="icon">
|
||
<use xlink:href="#rss"></use>
|
||
</svg>
|
||
</a>
|
||
<div class="color_mode">
|
||
<input type="checkbox" class="color_choice" id="mode">
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
|
||
<main>
|
||
|
||
<div class="grid-inverse wrap content">
|
||
<article class="post_content">
|
||
<h1 class="post_title">Gitea</h1>
|
||
<div class="post_meta">
|
||
<span><svg class="icon">
|
||
<use xlink:href="#calendar"></use>
|
||
</svg></span>
|
||
<span class="post_date">
|
||
Jan 3, 2023</span>
|
||
<span class="post_time"> · 5 min read</span><span> · <a href="https://blog.levassb.ovh/tags/git" title="git" class="post_tag button button_translucent">git
|
||
</a><a href="https://blog.levassb.ovh/tags/docker" title="docker" class="post_tag button button_translucent">docker
|
||
</a>
|
||
</span>
|
||
<span class="page_only"> ·
|
||
<div class="post_share">
|
||
Share on:
|
||
<a href="https://twitter.com/intent/tweet?text=Gitea&url=https%3a%2f%2fblog.levassb.ovh%2fpost%2fgitea%2f&tw_p=tweetbutton" class="twitter" title="Share on Twitter" target="_blank" rel="nofollow">
|
||
<svg class="icon">
|
||
<use xlink:href="#twitter"></use>
|
||
</svg>
|
||
</a>
|
||
<a href="https://www.facebook.com/sharer.php?u=https%3a%2f%2fblog.levassb.ovh%2fpost%2fgitea%2f&t=Gitea" class="facebook" title="Share on Facebook" target="_blank" rel="nofollow">
|
||
<svg class="icon">
|
||
<use xlink:href="#facebook"></use>
|
||
</svg>
|
||
</a>
|
||
<a href="#linkedinshare" id="linkedinshare" class="linkedin" title="Share on LinkedIn" rel="nofollow">
|
||
<svg class="icon">
|
||
<use xlink:href="#linkedin"></use>
|
||
</svg>
|
||
</a>
|
||
<a href="https://blog.levassb.ovh/post/gitea/" title="Copy Link" class="link link_yank">
|
||
<svg class="icon">
|
||
<use xlink:href="#copy"></use>
|
||
</svg>
|
||
</a>
|
||
</div>
|
||
</span>
|
||
</div>
|
||
|
||
|
||
<figure><img src="https://blog.levassb.ovh/images/gitea.jpg" class="image_featured image-scalable" alt="Gitea" loading="lazy" data-pos="1" data-scale="1.1879350348027842"></figure>
|
||
|
||
<p>Gitea est une forge logicielle GIT écrite en Go dérivée de Gogs.</p>
|
||
<p>Comme souvent, au moment de choisir une solution logicielle, je regarde :</p>
|
||
<ul>
|
||
<li>la couverture fonctionnelle</li>
|
||
<li>la vitalité du projet</li>
|
||
<li>les ressources nécessaires (mon VPS est un peu limité)</li>
|
||
<li>la qualité de la documentation</li>
|
||
</ul>
|
||
<p>Gitea coche toutes ces cases avec une version Docker pour la facilité de maintenance, SQLite pour limiter les ressources (un seul conteneur) et des fonctionnalités à mi-chemin entre un Gitolite un peu trop “roots” et l’usine à gaz GitLab.
|
||
Le développement communautaire semble dynamique et la documentation est plutôt bien faite.</p>
|
||
<p>Gitea propose un <a href="https://docs.gitea.io/en-us/comparison/" target="_blank" rel="noopener">comparatif des fonctionnalités</a> avec les principales alternatives.</p>
|
||
<h1 id="installation">Installation</h1>
|
||
<p>Une fois de plus, je vais partir de <a href="https://blog.levassb.ovh/post/traefik-new-conf/">ma plateforme</a> déjà en place avec Traefik pour gérer les accés HTTPS (reverse-proxy) et SSH (routeur TCP) et Docker pour l’exécution des conteneurs.
|
||
Je commence par modifier la configuration de Traefik pour ajouter un point d’entrée pour les connexions TCP vers le service SSH du conteneur Gitea:</p>
|
||
<ul>
|
||
<li><code class="noClass">--entrypoints.ssh.address=:2222</code> : pour créer un point d’entrée <code class="noClass">ssh</code> dans Traefik</li>
|
||
<li><code class="noClass">2222:2222/tcp</code> : pour ouvrir le port 2222 (le port 22 standard est déjà utilisé sur l’hôte)</li>
|
||
</ul>
|
||
<div class="highlight_wrap"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml hljs" data-lang="yaml"><span class="line" data-height="454px" style="max-height: 454px;"><span class="ln pre_nolines"> <span class="hljs-attr">1</span></span><span class="cl"><span class="nt"><span class="hljs-attr">version</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="s1"><span class="hljs-string">'3'</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">2</span></span><span class="cl"><span class="w"></span><span class="nt"><span class="hljs-attr">services</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">3</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">traefik</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">4</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">container_name</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="l"><span class="hljs-string">traefik</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">5</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">image</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="l"><span class="hljs-string">traefik:v2.9.6</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">6</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">restart</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="l"><span class="hljs-string">unless-stopped</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">7</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">command</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-number">8</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--providers.docker=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-number">9</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--providers.docker.exposedbydefault=false"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">10</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--providers.file.directory=/etc/traefik/dynamic-conf"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">11</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--providers.file.watch=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">12</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--api.dashboard=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">13</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--entrypoints.web.address=:80"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">14</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--entrypoints.websecure.address=:443"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">15</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--entrypoints.ssh.address=:2222"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">16</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--entrypoints.web.http.redirections.entrypoint.to=websecure"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">17</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--entrypoints.web.http.redirections.entrypoint.scheme=https"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">18</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--certificatesResolvers.letsencrypt.acme.email=admin@domaine.tld"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">19</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--certificatesResolvers.letsencrypt.acme.storage=acme.json"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">20</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--certificatesResolvers.letsencrypt.acme.tlsChallenge=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">21</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--log=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">22</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--log.level=INFO"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">23</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--log.filepath=/var/log/traefik.log"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">24</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"--accesslog.filepath=/var/log/traefix-access.log"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">25</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">labels</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">26</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.enable=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">27</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.dashboard.rule=Host(`traefik.domaine.tld`)"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">28</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.dashboard.service=api@internal"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">29</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.dashboard.entrypoints=websecure"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">30</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.dashboard.middlewares=auth-dashboard"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">31</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.middlewares.auth-dashboard.basicauth.users=admin:#########################"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">32</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.dashboard.tls=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">33</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.dashboard.tls.certresolver=letsencrypt"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">34</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">networks</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">35</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">traefik_lan</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">36</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">ports</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">37</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="m"><span class="hljs-number">80</span></span><span class="p"><span class="hljs-string">:</span></span><span class="m"><span class="hljs-string">80</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">38</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="m"><span class="hljs-number">443</span></span><span class="p"><span class="hljs-string">:</span></span><span class="m"><span class="hljs-string">443</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">39</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="m"><span class="hljs-number">2222</span></span><span class="p"><span class="hljs-string">:</span></span><span class="m"><span class="hljs-string">2222</span></span><span class="l"><span class="hljs-string">/tcp</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">40</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">volumes</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">41</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">/var/run/docker.sock:/var/run/docker.sock:ro</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">42</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">./config/acme.json:/acme.json</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">43</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">./config:/etc/traefik:ro</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">44</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">logs:/var/log/</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">45</span></span><span class="cl"><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">46</span></span><span class="cl"><span class="w"></span><span class="nt"><span class="hljs-attr">networks</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">47</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">traefik_lan</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">48</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">external</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="kc"><span class="hljs-literal">true</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">49</span></span><span class="cl"><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">50</span></span><span class="cl"><span class="w"></span><span class="nt"><span class="hljs-attr">volumes</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">51</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">logs</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span></code></pre><div class="panel_expand panel_from" title="Toggle code block expand">...</div></div><div class="panel_box"><a href="#" title="Copy Code" class="icon panel_icon panel_copy"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,108.016h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.048,0,20.003-8.955,20.003-20.003S377.952,108.016,366.905,108.016z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,188.027h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.047,0,20.003-8.955,20.003-20.003S377.953,188.027,366.905,188.027z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M286.004,268.039h-61.009c-11.048,0-20.003,8.955-20.003,20.003c0,11.048,8.955,20.003,20.003,20.003h61.009
|
||
c11.048,0,20.003-8.955,20.003-20.003C306.007,276.994,297.052,268.039,286.004,268.039z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M448.028,272.039c11.048,0,20.003-8.955,20.003-20.003V80.012C468.031,35.893,432.137,0,388.019,0H203.992
|
||
c-44.094,0-79.971,35.853-80.012,79.938c-44.118,0-80.012,35.893-80.012,80.012v272.039c0,44.118,35.893,80.012,80.012,80.012
|
||
h194.028c44.118,0,80.012-35.893,80.012-80.012v-0.608c39.414-4.938,70.01-38.662,70.01-79.389
|
||
c0-11.048-8.955-20.003-20.003-20.003c-11.048,0-20.003,8.955-20.003,20.003c0,22.054-17.942,40.001-39.996,40.006l-184.027,0.045
|
||
h-0.009c-10.685,0-20.73-4.16-28.285-11.715c-7.558-7.556-11.721-17.604-11.721-28.291V80.012
|
||
c0-22.059,17.947-40.006,40.006-40.006H388.02c22.059,0,40.006,17.947,40.006,40.006v172.025
|
||
C428.025,263.084,436.98,272.039,448.028,272.039z M203.992,432.047h0.02l154.002-0.038
|
||
c-0.012,22.049-17.954,39.984-40.006,39.984H123.981c-22.059,0-40.006-17.947-40.006-40.006V159.948
|
||
c0-22.059,17.947-40.006,40.006-40.006v232.094c0,21.375,8.325,41.471,23.441,56.583
|
||
C162.535,423.729,182.622,432.047,203.992,432.047z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Numbers" class="icon panel_icon panel_lines"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M492,236H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z
|
||
"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,86H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20S503.046,86,492,86z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,386H144.262c-11.046,0-20,8.954-20,20c0,11.046,8.954,20,20,20H492c11.046,0,20-8.954,20-20
|
||
C512,394.954,503.046,386,492,386z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="106" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="256" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="406" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Wrap" class="icon panel_icon panel_wrap panel_hide"><svg id="Layer" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m504.971 239.029-56.971-56.97v-98.059c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971l47.03 47.029-47.029 47.029c-4.501 4.501-7.03 10.606-7.03 16.971v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941z"></path><path d="m112 192v-108c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941l56.971 56.971v98.059c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36v-108c0-6.365-2.529-12.47-7.029-16.971l-47.03-47.029 47.029-47.029c4.501-4.501 7.03-10.606 7.03-16.971z"></path></svg></a><a href="#" title="Toggle code block expand" class="icon panel_icon panel_expand"><svg height="512pt" viewBox="0 0 512.016 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m240 426.675781h-181.332031c-32.363281 0-58.667969-26.304687-58.667969-58.667969v-309.332031c0-32.363281 26.304688-58.6679685 58.667969-58.6679685h309.332031c32.363281 0 58.667969 26.3046875 58.667969 58.6679685v181.332031c0 8.832032-7.167969 16-16 16s-16-7.167968-16-16v-181.332031c0-14.699219-11.96875-26.667969-26.667969-26.667969h-309.332031c-14.699219 0-26.667969 11.96875-26.667969 26.667969v309.332031c0 14.699219 11.96875 26.667969 26.667969 26.667969h181.332031c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812h-138.667969c-8.832031 0-16-7.167968-16-16 0-8.832031 7.167969-16 16-16h122.667969v-122.667968c0-8.832032 7.167969-16 16-16s16 7.167968 16 16v138.667968c0 8.832032-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812c-4.097656 0-8.191406-1.558593-11.308594-4.691406l-181.332031-181.335937c-6.25-6.25-6.25-16.382813 0-22.632813s16.382813-6.25 22.636719 0l181.332031 181.332032c6.25 6.25 6.25 16.382812 0 22.636718-3.136719 3.132813-7.230469 4.691406-11.328125 4.691406zm0 0"></path></svg></a></div><div class="lang">yaml</div></div><blockquote>
|
||
<p>Pour les autres paramètres, je vous laisse jeter un coup d’œil à mon <a href="https://blog.levassb.ovh/post/traefik-new-conf/">précédent article.</a>.</p>
|
||
</blockquote>
|
||
<p>Je crée un compte local <code class="noClass">git</code> qui sera utilisé pour l’exécution des processus du conteneur Gitea :</p>
|
||
<div class="highlight_wrap"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash hljs" data-lang="bash"><span class="line"><span class="ln pre_nolines">1</span><span class="cl">$ sudo adduser --system --shell /usr/sbin/nologin --group --disabled-password --home /home/git git
|
||
</span></span><span class="line"><span class="ln pre_nolines">2</span><span class="cl">$ id git
|
||
</span></span><span class="line"><span class="ln pre_nolines">3</span><span class="cl"><span class="nv">uid</span><span class="o">=</span>110<span class="o">(</span>git<span class="o">)</span> <span class="nv">gid</span><span class="o">=</span>118<span class="o">(</span>git<span class="o">)</span> <span class="nv">groups</span><span class="o">=</span>118<span class="o">(</span>git<span class="o">)</span>
|
||
</span></span></code></pre></div><div class="panel_box"><a href="#" title="Copy Code" class="icon panel_icon panel_copy"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,108.016h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.048,0,20.003-8.955,20.003-20.003S377.952,108.016,366.905,108.016z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,188.027h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.047,0,20.003-8.955,20.003-20.003S377.953,188.027,366.905,188.027z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M286.004,268.039h-61.009c-11.048,0-20.003,8.955-20.003,20.003c0,11.048,8.955,20.003,20.003,20.003h61.009
|
||
c11.048,0,20.003-8.955,20.003-20.003C306.007,276.994,297.052,268.039,286.004,268.039z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M448.028,272.039c11.048,0,20.003-8.955,20.003-20.003V80.012C468.031,35.893,432.137,0,388.019,0H203.992
|
||
c-44.094,0-79.971,35.853-80.012,79.938c-44.118,0-80.012,35.893-80.012,80.012v272.039c0,44.118,35.893,80.012,80.012,80.012
|
||
h194.028c44.118,0,80.012-35.893,80.012-80.012v-0.608c39.414-4.938,70.01-38.662,70.01-79.389
|
||
c0-11.048-8.955-20.003-20.003-20.003c-11.048,0-20.003,8.955-20.003,20.003c0,22.054-17.942,40.001-39.996,40.006l-184.027,0.045
|
||
h-0.009c-10.685,0-20.73-4.16-28.285-11.715c-7.558-7.556-11.721-17.604-11.721-28.291V80.012
|
||
c0-22.059,17.947-40.006,40.006-40.006H388.02c22.059,0,40.006,17.947,40.006,40.006v172.025
|
||
C428.025,263.084,436.98,272.039,448.028,272.039z M203.992,432.047h0.02l154.002-0.038
|
||
c-0.012,22.049-17.954,39.984-40.006,39.984H123.981c-22.059,0-40.006-17.947-40.006-40.006V159.948
|
||
c0-22.059,17.947-40.006,40.006-40.006v232.094c0,21.375,8.325,41.471,23.441,56.583
|
||
C162.535,423.729,182.622,432.047,203.992,432.047z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Numbers" class="icon panel_icon panel_lines"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M492,236H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z
|
||
"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,86H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20S503.046,86,492,86z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,386H144.262c-11.046,0-20,8.954-20,20c0,11.046,8.954,20,20,20H492c11.046,0,20-8.954,20-20
|
||
C512,394.954,503.046,386,492,386z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="106" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="256" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="406" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Wrap" class="icon panel_icon panel_wrap panel_hide"><svg id="Layer" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m504.971 239.029-56.971-56.97v-98.059c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971l47.03 47.029-47.029 47.029c-4.501 4.501-7.03 10.606-7.03 16.971v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941z"></path><path d="m112 192v-108c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941l56.971 56.971v98.059c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36v-108c0-6.365-2.529-12.47-7.029-16.971l-47.03-47.029 47.029-47.029c4.501-4.501 7.03-10.606 7.03-16.971z"></path></svg></a><a href="#" title="Toggle code block expand" class="icon panel_icon panel_expand panel_hide"><svg height="512pt" viewBox="0 0 512.016 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m240 426.675781h-181.332031c-32.363281 0-58.667969-26.304687-58.667969-58.667969v-309.332031c0-32.363281 26.304688-58.6679685 58.667969-58.6679685h309.332031c32.363281 0 58.667969 26.3046875 58.667969 58.6679685v181.332031c0 8.832032-7.167969 16-16 16s-16-7.167968-16-16v-181.332031c0-14.699219-11.96875-26.667969-26.667969-26.667969h-309.332031c-14.699219 0-26.667969 11.96875-26.667969 26.667969v309.332031c0 14.699219 11.96875 26.667969 26.667969 26.667969h181.332031c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812h-138.667969c-8.832031 0-16-7.167968-16-16 0-8.832031 7.167969-16 16-16h122.667969v-122.667968c0-8.832032 7.167969-16 16-16s16 7.167968 16 16v138.667968c0 8.832032-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812c-4.097656 0-8.191406-1.558593-11.308594-4.691406l-181.332031-181.335937c-6.25-6.25-6.25-16.382813 0-22.632813s16.382813-6.25 22.636719 0l181.332031 181.332032c6.25 6.25 6.25 16.382812 0 22.636718-3.136719 3.132813-7.230469 4.691406-11.328125 4.691406zm0 0"></path></svg></a></div><div class="lang">bash</div></div><blockquote>
|
||
<p>l’IUD: 110 et le GID: 118 seront utilisés dans le docker-compose de Gitea</p>
|
||
</blockquote>
|
||
<p>J’ajoute un dossier pour contenir le fichier docker-compose de Gitea:</p>
|
||
<div class="highlight_wrap"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash hljs" data-lang="bash"><span class="line"><span class="ln pre_nolines">1</span><span class="cl">$ sudo mkdir /opt/gitea <span class="o">&&</span> <span class="nb"><span class="hljs-built_in">cd</span></span> <span class="s2"><span class="hljs-string">"</span></span><span class="nv"><span class="hljs-string"><span class="hljs-variable">$_</span></span></span><span class="s2"><span class="hljs-string">"</span></span>
|
||
</span></span><span class="line"><span class="ln pre_nolines">2</span><span class="cl">$ touch docker-compose.yaml
|
||
</span></span></code></pre></div><div class="panel_box"><a href="#" title="Copy Code" class="icon panel_icon panel_copy"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,108.016h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.048,0,20.003-8.955,20.003-20.003S377.952,108.016,366.905,108.016z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,188.027h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.047,0,20.003-8.955,20.003-20.003S377.953,188.027,366.905,188.027z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M286.004,268.039h-61.009c-11.048,0-20.003,8.955-20.003,20.003c0,11.048,8.955,20.003,20.003,20.003h61.009
|
||
c11.048,0,20.003-8.955,20.003-20.003C306.007,276.994,297.052,268.039,286.004,268.039z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M448.028,272.039c11.048,0,20.003-8.955,20.003-20.003V80.012C468.031,35.893,432.137,0,388.019,0H203.992
|
||
c-44.094,0-79.971,35.853-80.012,79.938c-44.118,0-80.012,35.893-80.012,80.012v272.039c0,44.118,35.893,80.012,80.012,80.012
|
||
h194.028c44.118,0,80.012-35.893,80.012-80.012v-0.608c39.414-4.938,70.01-38.662,70.01-79.389
|
||
c0-11.048-8.955-20.003-20.003-20.003c-11.048,0-20.003,8.955-20.003,20.003c0,22.054-17.942,40.001-39.996,40.006l-184.027,0.045
|
||
h-0.009c-10.685,0-20.73-4.16-28.285-11.715c-7.558-7.556-11.721-17.604-11.721-28.291V80.012
|
||
c0-22.059,17.947-40.006,40.006-40.006H388.02c22.059,0,40.006,17.947,40.006,40.006v172.025
|
||
C428.025,263.084,436.98,272.039,448.028,272.039z M203.992,432.047h0.02l154.002-0.038
|
||
c-0.012,22.049-17.954,39.984-40.006,39.984H123.981c-22.059,0-40.006-17.947-40.006-40.006V159.948
|
||
c0-22.059,17.947-40.006,40.006-40.006v232.094c0,21.375,8.325,41.471,23.441,56.583
|
||
C162.535,423.729,182.622,432.047,203.992,432.047z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Numbers" class="icon panel_icon panel_lines"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M492,236H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z
|
||
"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,86H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20S503.046,86,492,86z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,386H144.262c-11.046,0-20,8.954-20,20c0,11.046,8.954,20,20,20H492c11.046,0,20-8.954,20-20
|
||
C512,394.954,503.046,386,492,386z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="106" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="256" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="406" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Wrap" class="icon panel_icon panel_wrap panel_hide"><svg id="Layer" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m504.971 239.029-56.971-56.97v-98.059c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971l47.03 47.029-47.029 47.029c-4.501 4.501-7.03 10.606-7.03 16.971v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941z"></path><path d="m112 192v-108c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941l56.971 56.971v98.059c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36v-108c0-6.365-2.529-12.47-7.029-16.971l-47.03-47.029 47.029-47.029c4.501-4.501 7.03-10.606 7.03-16.971z"></path></svg></a><a href="#" title="Toggle code block expand" class="icon panel_icon panel_expand panel_hide"><svg height="512pt" viewBox="0 0 512.016 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m240 426.675781h-181.332031c-32.363281 0-58.667969-26.304687-58.667969-58.667969v-309.332031c0-32.363281 26.304688-58.6679685 58.667969-58.6679685h309.332031c32.363281 0 58.667969 26.3046875 58.667969 58.6679685v181.332031c0 8.832032-7.167969 16-16 16s-16-7.167968-16-16v-181.332031c0-14.699219-11.96875-26.667969-26.667969-26.667969h-309.332031c-14.699219 0-26.667969 11.96875-26.667969 26.667969v309.332031c0 14.699219 11.96875 26.667969 26.667969 26.667969h181.332031c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812h-138.667969c-8.832031 0-16-7.167968-16-16 0-8.832031 7.167969-16 16-16h122.667969v-122.667968c0-8.832032 7.167969-16 16-16s16 7.167968 16 16v138.667968c0 8.832032-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812c-4.097656 0-8.191406-1.558593-11.308594-4.691406l-181.332031-181.335937c-6.25-6.25-6.25-16.382813 0-22.632813s16.382813-6.25 22.636719 0l181.332031 181.332032c6.25 6.25 6.25 16.382812 0 22.636718-3.136719 3.132813-7.230469 4.691406-11.328125 4.691406zm0 0"></path></svg></a></div><div class="lang">bash</div></div><p>J’édite le fichier <code class="noClass">docker-compose.yaml</code></p>
|
||
<div class="highlight_wrap"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml hljs" data-lang="yaml"><span class="line" data-height="454px" style="max-height: 454px;"><span class="ln pre_nolines"> <span class="hljs-attr">1</span></span><span class="cl"><span class="nt"><span class="hljs-attr">version</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="s1"><span class="hljs-string">'3'</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">2</span></span><span class="cl"><span class="w"></span><span class="nt"><span class="hljs-attr">services</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">3</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">gitea</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">4</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">container_name</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="l"><span class="hljs-string">gitea</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">5</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">image</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="l"><span class="hljs-string">gitea/gitea:1.18.0</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">6</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">restart</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="l"><span class="hljs-string">unless-stopped</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-attr">7</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">environment</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-number">8</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">USER_UID=110</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"> <span class="hljs-number">9</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">USER_GID=118</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">10</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">RUN_MODE=prod</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">11</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">APP_NAME="My</span> <span class="hljs-string">forge!"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">12</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__server__SSH_PORT=2222</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">13</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__server__SSH_LISTEN_PORT=22</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">14</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__server__HTTP_PORT=3000</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">15</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__server__ROOT_URL=https://git.domain.tld</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">16</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__database__DB_TYPE=sqlite3</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">17</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__service__DISABLE_REGISTRATION=true</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">18</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__service__REQUIRE_SIGNIN_VIEW=true</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">19</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__service__REGISTER_EMAIL_CONFIRM=true</span> </span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">20</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__ENABLED=true</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">21</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__SMTP_ADDR=smtp.domain.tld</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">22</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__SMTP_PORT=587</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">23</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__PROTOCOL=smtp+starttls</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">24</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__USER=admin@domain.tld</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">25</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__PASSWD=V3ryS3cur3</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">26</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">GITEA__mailer__FROM=noreply-gitea@domain.tld</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">27</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">expose</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">28</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"3000"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">29</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"22"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">30</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">networks</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">31</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">traefik_lan</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">32</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">volumes</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">33</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">data:/data</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">34</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">/etc/timezone:/etc/timezone:ro</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">35</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="l"><span class="hljs-string">/etc/localtime:/etc/localtime:ro</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">36</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">labels</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">37</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.enable=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">38</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.services.gitea.loadbalancer.server.port=3000"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">39</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.docker.network=traefik_lan"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">40</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.gitea.rule=Host(`git.domain.tld`)"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">41</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.gitea.entrypoints=websecure"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">42</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.gitea.middlewares=secured@file"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">43</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.gitea.tls=true"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">44</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.http.routers.gitea.tls.certresolver=letsencrypt"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">45</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">46</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.tcp.routers.gitea-ssh.entrypoints=ssh"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">47</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.tcp.routers.gitea-ssh.service=gitea-ssh-svc"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-number">48</span></span><span class="cl"><span class="w"> </span><span class="hljs-bullet">-</span> <span class="s2"><span class="hljs-string">"traefik.tcp.services.gitea-ssh-svc.loadbalancer.server.port=22"</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">49</span></span><span class="cl"><span class="w"></span><span class="nt"><span class="hljs-attr">networks</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">50</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">traefik_lan</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">51</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">external</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w"> </span><span class="kc"><span class="hljs-literal">true</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">52</span></span><span class="cl"><span class="w"></span><span class="nt"><span class="hljs-attr">volumes</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span><span class="line"><span class="ln pre_nolines"><span class="hljs-attr">53</span></span><span class="cl"><span class="w"><span class="hljs-attr"> </span></span><span class="nt"><span class="hljs-attr">data</span></span><span class="p"><span class="hljs-attr">:</span></span><span class="w">
|
||
</span></span></span></code></pre><div class="panel_expand panel_from" title="Toggle code block expand">...</div></div><div class="panel_box"><a href="#" title="Copy Code" class="icon panel_icon panel_copy"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,108.016h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.048,0,20.003-8.955,20.003-20.003S377.952,108.016,366.905,108.016z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,188.027h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.047,0,20.003-8.955,20.003-20.003S377.953,188.027,366.905,188.027z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M286.004,268.039h-61.009c-11.048,0-20.003,8.955-20.003,20.003c0,11.048,8.955,20.003,20.003,20.003h61.009
|
||
c11.048,0,20.003-8.955,20.003-20.003C306.007,276.994,297.052,268.039,286.004,268.039z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M448.028,272.039c11.048,0,20.003-8.955,20.003-20.003V80.012C468.031,35.893,432.137,0,388.019,0H203.992
|
||
c-44.094,0-79.971,35.853-80.012,79.938c-44.118,0-80.012,35.893-80.012,80.012v272.039c0,44.118,35.893,80.012,80.012,80.012
|
||
h194.028c44.118,0,80.012-35.893,80.012-80.012v-0.608c39.414-4.938,70.01-38.662,70.01-79.389
|
||
c0-11.048-8.955-20.003-20.003-20.003c-11.048,0-20.003,8.955-20.003,20.003c0,22.054-17.942,40.001-39.996,40.006l-184.027,0.045
|
||
h-0.009c-10.685,0-20.73-4.16-28.285-11.715c-7.558-7.556-11.721-17.604-11.721-28.291V80.012
|
||
c0-22.059,17.947-40.006,40.006-40.006H388.02c22.059,0,40.006,17.947,40.006,40.006v172.025
|
||
C428.025,263.084,436.98,272.039,448.028,272.039z M203.992,432.047h0.02l154.002-0.038
|
||
c-0.012,22.049-17.954,39.984-40.006,39.984H123.981c-22.059,0-40.006-17.947-40.006-40.006V159.948
|
||
c0-22.059,17.947-40.006,40.006-40.006v232.094c0,21.375,8.325,41.471,23.441,56.583
|
||
C162.535,423.729,182.622,432.047,203.992,432.047z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Numbers" class="icon panel_icon panel_lines"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M492,236H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z
|
||
"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,86H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20S503.046,86,492,86z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,386H144.262c-11.046,0-20,8.954-20,20c0,11.046,8.954,20,20,20H492c11.046,0,20-8.954,20-20
|
||
C512,394.954,503.046,386,492,386z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="106" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="256" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="406" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Wrap" class="icon panel_icon panel_wrap panel_hide"><svg id="Layer" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m504.971 239.029-56.971-56.97v-98.059c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971l47.03 47.029-47.029 47.029c-4.501 4.501-7.03 10.606-7.03 16.971v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941z"></path><path d="m112 192v-108c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941l56.971 56.971v98.059c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36v-108c0-6.365-2.529-12.47-7.029-16.971l-47.03-47.029 47.029-47.029c4.501-4.501 7.03-10.606 7.03-16.971z"></path></svg></a><a href="#" title="Toggle code block expand" class="icon panel_icon panel_expand"><svg height="512pt" viewBox="0 0 512.016 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m240 426.675781h-181.332031c-32.363281 0-58.667969-26.304687-58.667969-58.667969v-309.332031c0-32.363281 26.304688-58.6679685 58.667969-58.6679685h309.332031c32.363281 0 58.667969 26.3046875 58.667969 58.6679685v181.332031c0 8.832032-7.167969 16-16 16s-16-7.167968-16-16v-181.332031c0-14.699219-11.96875-26.667969-26.667969-26.667969h-309.332031c-14.699219 0-26.667969 11.96875-26.667969 26.667969v309.332031c0 14.699219 11.96875 26.667969 26.667969 26.667969h181.332031c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812h-138.667969c-8.832031 0-16-7.167968-16-16 0-8.832031 7.167969-16 16-16h122.667969v-122.667968c0-8.832032 7.167969-16 16-16s16 7.167968 16 16v138.667968c0 8.832032-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812c-4.097656 0-8.191406-1.558593-11.308594-4.691406l-181.332031-181.335937c-6.25-6.25-6.25-16.382813 0-22.632813s16.382813-6.25 22.636719 0l181.332031 181.332032c6.25 6.25 6.25 16.382812 0 22.636718-3.136719 3.132813-7.230469 4.691406-11.328125 4.691406zm0 0"></path></svg></a></div><div class="lang">yaml</div></div><p>Dans cette configuration:</p>
|
||
<ul>
|
||
<li>les inscriptions sont désactivées (l’administrateur doit créer les comptes)</li>
|
||
<li>l’accès est soumis à une authentification systématique (pas d’accès libre à un dépôt public)</li>
|
||
<li>le courriel d’enregistrement doit être validé pour accéder à la forge</li>
|
||
<li>les données sont persistées dans un volume nommé Docker (<code class="noClass">/var/lib/docker/volume/gitea_data/</code>)</li>
|
||
<li>la redirection HTTP vers HTTPS est gérée en amont directement dans Traefik</li>
|
||
<li>les connexions TCP sont redirigées du point d’entrée <code class="noClass">ssh</code> de Traefik vers le port TCP 22 du conteneur</li>
|
||
</ul>
|
||
<blockquote>
|
||
<p>Gitea propose de nombreux paramètres de configurations. Vous devriez trouver votre bonheur dans <a href="https://docs.gitea.io/fr-fr/config-cheat-sheet/" target="_blank" rel="noopener">la documentation</a> en respectant la convention de nommage des variables d’environnement : <a href="https://github.com/go-gitea/gitea/tree/main/contrib/environment-to-ini" target="_blank" rel="noopener">GITEA__SECTION__KEY-NAME</a></p>
|
||
</blockquote>
|
||
<p>Il ne reste plus qu’à démarrer le conteneur :</p>
|
||
<div class="highlight_wrap"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash hljs" data-lang="bash"><span class="line"><span class="ln pre_nolines">1</span><span class="cl">$ docker-compose -f /opt/gitea/docker-compose.yaml up -d
|
||
</span></span></code></pre></div><div class="panel_box"><a href="#" title="Copy Code" class="icon panel_icon panel_copy"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,108.016h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.048,0,20.003-8.955,20.003-20.003S377.952,108.016,366.905,108.016z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,188.027h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.047,0,20.003-8.955,20.003-20.003S377.953,188.027,366.905,188.027z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M286.004,268.039h-61.009c-11.048,0-20.003,8.955-20.003,20.003c0,11.048,8.955,20.003,20.003,20.003h61.009
|
||
c11.048,0,20.003-8.955,20.003-20.003C306.007,276.994,297.052,268.039,286.004,268.039z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M448.028,272.039c11.048,0,20.003-8.955,20.003-20.003V80.012C468.031,35.893,432.137,0,388.019,0H203.992
|
||
c-44.094,0-79.971,35.853-80.012,79.938c-44.118,0-80.012,35.893-80.012,80.012v272.039c0,44.118,35.893,80.012,80.012,80.012
|
||
h194.028c44.118,0,80.012-35.893,80.012-80.012v-0.608c39.414-4.938,70.01-38.662,70.01-79.389
|
||
c0-11.048-8.955-20.003-20.003-20.003c-11.048,0-20.003,8.955-20.003,20.003c0,22.054-17.942,40.001-39.996,40.006l-184.027,0.045
|
||
h-0.009c-10.685,0-20.73-4.16-28.285-11.715c-7.558-7.556-11.721-17.604-11.721-28.291V80.012
|
||
c0-22.059,17.947-40.006,40.006-40.006H388.02c22.059,0,40.006,17.947,40.006,40.006v172.025
|
||
C428.025,263.084,436.98,272.039,448.028,272.039z M203.992,432.047h0.02l154.002-0.038
|
||
c-0.012,22.049-17.954,39.984-40.006,39.984H123.981c-22.059,0-40.006-17.947-40.006-40.006V159.948
|
||
c0-22.059,17.947-40.006,40.006-40.006v232.094c0,21.375,8.325,41.471,23.441,56.583
|
||
C162.535,423.729,182.622,432.047,203.992,432.047z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Numbers" class="icon panel_icon panel_lines"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M492,236H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z
|
||
"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,86H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20S503.046,86,492,86z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,386H144.262c-11.046,0-20,8.954-20,20c0,11.046,8.954,20,20,20H492c11.046,0,20-8.954,20-20
|
||
C512,394.954,503.046,386,492,386z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="106" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="256" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="406" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Wrap" class="icon panel_icon panel_wrap panel_hide"><svg id="Layer" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m504.971 239.029-56.971-56.97v-98.059c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971l47.03 47.029-47.029 47.029c-4.501 4.501-7.03 10.606-7.03 16.971v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941z"></path><path d="m112 192v-108c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941l56.971 56.971v98.059c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36v-108c0-6.365-2.529-12.47-7.029-16.971l-47.03-47.029 47.029-47.029c4.501-4.501 7.03-10.606 7.03-16.971z"></path></svg></a><a href="#" title="Toggle code block expand" class="icon panel_icon panel_expand panel_hide"><svg height="512pt" viewBox="0 0 512.016 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m240 426.675781h-181.332031c-32.363281 0-58.667969-26.304687-58.667969-58.667969v-309.332031c0-32.363281 26.304688-58.6679685 58.667969-58.6679685h309.332031c32.363281 0 58.667969 26.3046875 58.667969 58.6679685v181.332031c0 8.832032-7.167969 16-16 16s-16-7.167968-16-16v-181.332031c0-14.699219-11.96875-26.667969-26.667969-26.667969h-309.332031c-14.699219 0-26.667969 11.96875-26.667969 26.667969v309.332031c0 14.699219 11.96875 26.667969 26.667969 26.667969h181.332031c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812h-138.667969c-8.832031 0-16-7.167968-16-16 0-8.832031 7.167969-16 16-16h122.667969v-122.667968c0-8.832032 7.167969-16 16-16s16 7.167968 16 16v138.667968c0 8.832032-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812c-4.097656 0-8.191406-1.558593-11.308594-4.691406l-181.332031-181.335937c-6.25-6.25-6.25-16.382813 0-22.632813s16.382813-6.25 22.636719 0l181.332031 181.332032c6.25 6.25 6.25 16.382812 0 22.636718-3.136719 3.132813-7.230469 4.691406-11.328125 4.691406zm0 0"></path></svg></a></div><div class="lang">bash</div></div><p>et à finaliser l’installation dans l’interface web :</p>
|
||
<p></p><figure><img src="https://blog.levassb.ovh/images/gitea-install-sc.png" alt="Gitea Install" loading="lazy" data-pos="2" class="image-scalable" data-scale="1.1879350348027842"></figure><p class="img_alt">Figure 2: Gitea Install</p><p></p>
|
||
<blockquote>
|
||
<p>Il faut impérativement créer le compte administrateur puisque les inscriptions sont fermées dans cette configuration.</p>
|
||
</blockquote>
|
||
<p>A ce stade, Gitea est opérationnel. Vous pouvez maintenant:</p>
|
||
<ul>
|
||
<li>créer un compte utilisateur</li>
|
||
<li>ajouter une clé publique SSH</li>
|
||
<li>créer un premier dépôt</li>
|
||
</ul>
|
||
<p>et tester les connexions SSH :</p>
|
||
<div class="highlight_wrap"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash hljs" data-lang="bash"><span class="line"><span class="ln pre_nolines"> 1</span><span class="cl">$ mkdir ~/projet <span class="o">&&</span> <span class="nb"><span class="hljs-built_in">cd</span></span> <span class="s2"><span class="hljs-string">"</span></span><span class="nv"><span class="hljs-string"><span class="hljs-variable">$_</span></span></span><span class="s2"><span class="hljs-string">"</span></span>
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 2</span><span class="cl">$ touch README.md
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 3</span><span class="cl">$ git init
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 4</span><span class="cl">$ git checkout -b main
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 5</span><span class="cl">$ git add README.md
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 6</span><span class="cl">$ git commit -m <span class="s2"><span class="hljs-string">"first commit"</span></span>
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 7</span><span class="cl">$ git remote add origin ssh://git@git.domain.tld:2222/johndoe/demo.git
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 8</span><span class="cl">$ git push -u origin main
|
||
</span></span><span class="line"><span class="ln pre_nolines"> 9</span><span class="cl">$ git push origin main
|
||
</span></span><span class="line"><span class="ln pre_nolines">10</span><span class="cl">Énumération des objets: 3, fait.
|
||
</span></span><span class="line"><span class="ln pre_nolines">11</span><span class="cl">Décompte des objets: 100% <span class="o">(</span>3/3<span class="o">)</span>, fait.
|
||
</span></span><span class="line"><span class="ln pre_nolines">12</span><span class="cl">Écriture des objets: 100% <span class="o">(</span>3/3<span class="o">)</span>, <span class="m">219</span> octets <span class="p">|</span> 219.00 Kio/s, fait.
|
||
</span></span><span class="line"><span class="ln pre_nolines">13</span><span class="cl">Total <span class="m">3</span> <span class="o">(</span>delta 0<span class="o">)</span>, réutilisés <span class="m">0</span> <span class="o">(</span>delta 0<span class="o">)</span>, réutilisés du pack <span class="m">0</span>
|
||
</span></span><span class="line"><span class="ln pre_nolines">14</span><span class="cl">remote: . Processing <span class="m">1</span> references
|
||
</span></span><span class="line"><span class="ln pre_nolines">15</span><span class="cl">remote: Processed <span class="m">1</span> references <span class="hljs-keyword">in</span> total
|
||
</span></span><span class="line"><span class="ln pre_nolines">16</span><span class="cl">To ssh://git.domain.tld:2222/johndoe/demo.git
|
||
</span></span><span class="line"><span class="ln pre_nolines">17</span><span class="cl"> * <span class="o">[</span>new branch<span class="o">]</span> main -> main
|
||
</span></span></code></pre></div><div class="panel_box"><a href="#" title="Copy Code" class="icon panel_icon panel_copy"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,108.016h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.048,0,20.003-8.955,20.003-20.003S377.952,108.016,366.905,108.016z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M366.905,188.027h-141.91c-11.048,0-20.003,8.955-20.003,20.003s8.955,20.003,20.003,20.003h141.91
|
||
c11.047,0,20.003-8.955,20.003-20.003S377.953,188.027,366.905,188.027z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M286.004,268.039h-61.009c-11.048,0-20.003,8.955-20.003,20.003c0,11.048,8.955,20.003,20.003,20.003h61.009
|
||
c11.048,0,20.003-8.955,20.003-20.003C306.007,276.994,297.052,268.039,286.004,268.039z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M448.028,272.039c11.048,0,20.003-8.955,20.003-20.003V80.012C468.031,35.893,432.137,0,388.019,0H203.992
|
||
c-44.094,0-79.971,35.853-80.012,79.938c-44.118,0-80.012,35.893-80.012,80.012v272.039c0,44.118,35.893,80.012,80.012,80.012
|
||
h194.028c44.118,0,80.012-35.893,80.012-80.012v-0.608c39.414-4.938,70.01-38.662,70.01-79.389
|
||
c0-11.048-8.955-20.003-20.003-20.003c-11.048,0-20.003,8.955-20.003,20.003c0,22.054-17.942,40.001-39.996,40.006l-184.027,0.045
|
||
h-0.009c-10.685,0-20.73-4.16-28.285-11.715c-7.558-7.556-11.721-17.604-11.721-28.291V80.012
|
||
c0-22.059,17.947-40.006,40.006-40.006H388.02c22.059,0,40.006,17.947,40.006,40.006v172.025
|
||
C428.025,263.084,436.98,272.039,448.028,272.039z M203.992,432.047h0.02l154.002-0.038
|
||
c-0.012,22.049-17.954,39.984-40.006,39.984H123.981c-22.059,0-40.006-17.947-40.006-40.006V159.948
|
||
c0-22.059,17.947-40.006,40.006-40.006v232.094c0,21.375,8.325,41.471,23.441,56.583
|
||
C162.535,423.729,182.622,432.047,203.992,432.047z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Numbers" class="icon panel_icon panel_lines"><!--?xml version="1.0" encoding="iso-8859-1"?-->
|
||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||
<g>
|
||
<g>
|
||
<path d="M492,236H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z
|
||
"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,86H144.262c-11.046,0-20,8.954-20,20s8.954,20,20,20H492c11.046,0,20-8.954,20-20S503.046,86,492,86z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<path d="M492,386H144.262c-11.046,0-20,8.954-20,20c0,11.046,8.954,20,20,20H492c11.046,0,20-8.954,20-20
|
||
C512,394.954,503.046,386,492,386z"></path>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="106" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="256" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
<g>
|
||
<circle cx="27" cy="406" r="27"></circle>
|
||
</g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
<g>
|
||
</g>
|
||
</svg>
|
||
</a><a href="#" title="Toggle Line Wrap" class="icon panel_icon panel_wrap panel_hide"><svg id="Layer" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m504.971 239.029-56.971-56.97v-98.059c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971l47.03 47.029-47.029 47.029c-4.501 4.501-7.03 10.606-7.03 16.971v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941z"></path><path d="m112 192v-108c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941l56.971 56.971v98.059c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36v-108c0-6.365-2.529-12.47-7.029-16.971l-47.03-47.029 47.029-47.029c4.501-4.501 7.03-10.606 7.03-16.971z"></path></svg></a><a href="#" title="Toggle code block expand" class="icon panel_icon panel_expand panel_hide"><svg height="512pt" viewBox="0 0 512.016 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m240 426.675781h-181.332031c-32.363281 0-58.667969-26.304687-58.667969-58.667969v-309.332031c0-32.363281 26.304688-58.6679685 58.667969-58.6679685h309.332031c32.363281 0 58.667969 26.3046875 58.667969 58.6679685v181.332031c0 8.832032-7.167969 16-16 16s-16-7.167968-16-16v-181.332031c0-14.699219-11.96875-26.667969-26.667969-26.667969h-309.332031c-14.699219 0-26.667969 11.96875-26.667969 26.667969v309.332031c0 14.699219 11.96875 26.667969 26.667969 26.667969h181.332031c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812h-138.667969c-8.832031 0-16-7.167968-16-16 0-8.832031 7.167969-16 16-16h122.667969v-122.667968c0-8.832032 7.167969-16 16-16s16 7.167968 16 16v138.667968c0 8.832032-7.167969 16-16 16zm0 0"></path><path d="m496 512.007812c-4.097656 0-8.191406-1.558593-11.308594-4.691406l-181.332031-181.335937c-6.25-6.25-6.25-16.382813 0-22.632813s16.382813-6.25 22.636719 0l181.332031 181.332032c6.25 6.25 6.25 16.382812 0 22.636718-3.136719 3.132813-7.230469 4.691406-11.328125 4.691406zm0 0"></path></svg></a></div><div class="lang">bash</div></div><p></p><figure><img src="https://blog.levassb.ovh/images/gitea-repo.png" alt="Gitea repo" loading="lazy" data-pos="3" class="image-scalable" data-scale="1.1879350348027842"></figure><p class="img_alt">Figure 3: Gitea repo</p><p></p>
|
||
<h1 id="conclusion">Conclusion</h1>
|
||
<p>Gitea offre une solution clé en main élégante et facile à mettre en oeuvre. Peu gourmande en ressources (moins de 200Mo de RAM et une image à 257Mo), elle est particulièrement bien adaptée aux contraites de l’auto-hébergement.</p>
|
||
<h1 id="ressources">Ressources</h1>
|
||
<ul>
|
||
<li><a href="https://docs.gitea.io/fr-fr/" target="_blank" rel="noopener">documentation Gitea</a></li>
|
||
<li><a href="https://docs.gitea.io/fr-fr/config-cheat-sheet/" target="_blank" rel="noopener">config Cheat Sheet (en)</a></li>
|
||
<li><a href="https://community.traefik.io/t/ssh-gitea-with-traefik-v2/14525" target="_blank" rel="noopener">forum Traefik</a></li>
|
||
<li><a href="https://www.digitalocean.com/community/tutorials/how-to-install-gitea-on-ubuntu-using-docker" target="_blank" rel="noopener">tutorial DigitalOcean (en)</a></li>
|
||
<li><a href="https://www.richard-dern.fr/blog/2021/09/12/deployer-hugo-via-gitea-et-drone-ci/" target="_blank" rel="noopener">blog de Richard Dern</a></li>
|
||
<li><a href="https://blog.filador.fr/gitea-le-gestionnaire-de-code-source-leger-et-simple-a-mettre-en-oeuvre-pour-votre-raspberry/" target="_blank" rel="noopener">blog de Romain Boulanger</a></li>
|
||
</ul>
|
||
<p>Photo by <a href="https://unsplash.com/fr/@mlightbody" target="_blank" rel="noopener">Malcolm Lightbody</a> on <a href="https://unsplash.com/photos/gPRvTP0sZ2M" target="_blank" rel="noopener">Unsplash</a></p>
|
||
|
||
|
||
</article>
|
||
<aside class="sidebar">
|
||
<section class="sidebar_inner">
|
||
<h2 class="mt-4">Featured Posts</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/joplin/" class="nav-link" title="Serveur Joplin">Serveur Joplin</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/pbs/" class="nav-link" title="Proxmox Backup Server">Proxmox Backup Server</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/crowdsec/" class="nav-link" title="Crowdsec avec Traefik">Crowdsec avec Traefik</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/terraform/" class="nav-link" title="Terraform et Proxmox">Terraform et Proxmox</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/restic/" class="nav-link" title="Restic avec MinIO">Restic avec MinIO</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/ansible/" class="nav-link" title="Ansible">Ansible</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/nextcloud/" class="nav-link" title="Nextcloud">Nextcloud</a>
|
||
</li>
|
||
</ul>
|
||
<h2 class="mt-4">Recent Posts</h2>
|
||
<ul class="flex-column">
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/ansible-study-case/" class="nav-link" title="Ansible : cas pratique (1er partie)">Ansible : cas pratique (1er partie)</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/uptime-kuma/" class="nav-link" title="Uptime Kuma">Uptime Kuma</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/joplin/" class="nav-link" title="Serveur Joplin">Serveur Joplin</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/pbs/" class="nav-link" title="Proxmox Backup Server">Proxmox Backup Server</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/crowdsec/" class="nav-link" title="Crowdsec avec Traefik">Crowdsec avec Traefik</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/terraform/" class="nav-link" title="Terraform et Proxmox">Terraform et Proxmox</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/zfs-part2/" class="nav-link" title="ZFS partie 2">ZFS partie 2</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://blog.levassb.ovh/post/zfs/" class="nav-link" title="ZFS partie 1">ZFS partie 1</a>
|
||
</li>
|
||
</ul>
|
||
<div>
|
||
<h2 class="mt-4 taxonomy" id="categories-section">Categories</h2>
|
||
<nav class="tags_nav">
|
||
<a href="https://blog.levassb.ovh/categories/self-hosting/" class="post_tag button button_translucent" title="self-hosting">
|
||
SELF-HOSTING
|
||
<span class="button_tally">7</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/categories/stockage/" class="post_tag button button_translucent" title="stockage">
|
||
STOCKAGE
|
||
<span class="button_tally">5</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/categories/sysadmin/" class="post_tag button button_translucent" title="sysadmin">
|
||
SYSADMIN
|
||
<span class="button_tally">4</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/categories/iac/" class="post_tag button button_translucent" title="iac">
|
||
IAC
|
||
<span class="button_tally">3</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/categories/devops/" class="post_tag button button_translucent" title="devops">
|
||
DEVOPS
|
||
<span class="button_tally">2</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/categories/securit%C3%A9/" class="post_tag button button_translucent" title="securité">
|
||
SECURITÉ
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/categories/web/" class="post_tag button button_translucent" title="web">
|
||
WEB
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
|
||
</nav>
|
||
</div>
|
||
<div>
|
||
<h2 class="mt-4 taxonomy" id="tags-section">Tags</h2>
|
||
<nav class="tags_nav">
|
||
<a href="https://blog.levassb.ovh/tags/docker/" class="post_tag button button_translucent" title="docker">
|
||
DOCKER
|
||
<span class="button_tally">12</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/traefik/" class="post_tag button button_translucent" title="traefik">
|
||
TRAEFIK
|
||
<span class="button_tally">8</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/backup/" class="post_tag button button_translucent" title="backup">
|
||
BACKUP
|
||
<span class="button_tally">3</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/ceph/" class="post_tag button button_translucent" title="ceph">
|
||
CEPH
|
||
<span class="button_tally">3</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/proxmox/" class="post_tag button button_translucent" title="proxmox">
|
||
PROXMOX
|
||
<span class="button_tally">3</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/ansible/" class="post_tag button button_translucent" title="ansible">
|
||
ANSIBLE
|
||
<span class="button_tally">2</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/file-system/" class="post_tag button button_translucent" title="file-system">
|
||
FILE-SYSTEM
|
||
<span class="button_tally">2</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/opensuse/" class="post_tag button button_translucent" title="opensuse">
|
||
OPENSUSE
|
||
<span class="button_tally">2</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/drive/" class="post_tag button button_translucent" title="drive">
|
||
DRIVE
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/git/" class="post_tag button button_translucent" title="git">
|
||
GIT
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/hci/" class="post_tag button button_translucent" title="hci">
|
||
HCI
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/monitoring/" class="post_tag button button_translucent" title="monitoring">
|
||
MONITORING
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/s3/" class="post_tag button button_translucent" title="s3">
|
||
S3
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
<a href="https://blog.levassb.ovh/tags/terraform/" class="post_tag button button_translucent" title="terraform">
|
||
TERRAFORM
|
||
<span class="button_tally">1</span>
|
||
</a>
|
||
|
||
|
||
</nav>
|
||
</div>
|
||
</section>
|
||
</aside>
|
||
|
||
|
||
</div>
|
||
</main><svg width="0" height="0" class="hidden">
|
||
<symbol viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" id="facebook">
|
||
<path d="M437 0H75C33.648 0 0 33.648 0 75v362c0 41.352 33.648 75 75 75h151V331h-60v-90h60v-61c0-49.629 40.371-90 90-90h91v90h-91v61h91l-15 90h-76v181h121c41.352 0 75-33.648 75-75V75c0-41.352-33.648-75-75-75zm0 0"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.001 18.001" id="twitter">
|
||
<path d="M15.891 4.013c.808-.496 1.343-1.173 1.605-2.034a8.68 8.68 0 0 1-2.351.861c-.703-.756-1.593-1.14-2.66-1.14-1.043 0-1.924.366-2.643 1.078a3.56 3.56 0 0 0-1.076 2.605c0 .309.039.585.117.819-3.076-.105-5.622-1.381-7.628-3.837-.34.601-.51 1.213-.51 1.846 0 1.301.549 2.332 1.645 3.089-.625-.053-1.176-.211-1.645-.47 0 .929.273 1.705.82 2.388a3.623 3.623 0 0 0 2.115 1.291c-.312.08-.641.118-.979.118-.312 0-.533-.026-.664-.083.23.757.664 1.371 1.291 1.841a3.652 3.652 0 0 0 2.152.743C4.148 14.173 2.625 14.69.902 14.69c-.422 0-.721-.006-.902-.038 1.697 1.102 3.586 1.649 5.676 1.649 2.139 0 4.029-.542 5.674-1.626 1.645-1.078 2.859-2.408 3.639-3.974a10.77 10.77 0 0 0 1.172-4.892v-.468a7.788 7.788 0 0 0 1.84-1.921 8.142 8.142 0 0 1-2.11.593z"></path>
|
||
</symbol>
|
||
<symbol aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="mail">
|
||
<path d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="calendar">
|
||
<path d="M452 40h-24V0h-40v40H124V0H84v40H60C26.916 40 0 66.916 0 100v352c0 33.084 26.916 60 60 60h392c33.084 0 60-26.916 60-60V100c0-33.084-26.916-60-60-60zm20 412c0 11.028-8.972 20-20 20H60c-11.028 0-20-8.972-20-20V188h432v264zm0-304H40v-48c0-11.028 8.972-20 20-20h24v40h40V80h264v40h40V80h24c11.028 0 20 8.972 20 20v48z"></path>
|
||
<path d="M76 230h40v40H76zm80 0h40v40h-40zm80 0h40v40h-40zm80 0h40v40h-40zm80 0h40v40h-40zM76 310h40v40H76zm80 0h40v40h-40zm80 0h40v40h-40zm80 0h40v40h-40zM76 390h40v40H76zm80 0h40v40h-40zm80 0h40v40h-40zm80 0h40v40h-40zm80-80h40v40h-40z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="github">
|
||
<path d="M255.968 5.329C114.624 5.329 0 120.401 0 262.353c0 113.536 73.344 209.856 175.104 243.872 12.8 2.368 17.472-5.568 17.472-12.384 0-6.112-.224-22.272-.352-43.712-71.2 15.52-86.24-34.464-86.24-34.464-11.616-29.696-28.416-37.6-28.416-37.6-23.264-15.936 1.728-15.616 1.728-15.616 25.696 1.824 39.2 26.496 39.2 26.496 22.848 39.264 59.936 27.936 74.528 21.344 2.304-16.608 8.928-27.936 16.256-34.368-56.832-6.496-116.608-28.544-116.608-127.008 0-28.064 9.984-51.008 26.368-68.992-2.656-6.496-11.424-32.64 2.496-68 0 0 21.504-6.912 70.4 26.336 20.416-5.696 42.304-8.544 64.096-8.64 21.728.128 43.648 2.944 64.096 8.672 48.864-33.248 70.336-26.336 70.336-26.336 13.952 35.392 5.184 61.504 2.56 68 16.416 17.984 26.304 40.928 26.304 68.992 0 98.72-59.84 120.448-116.864 126.816 9.184 7.936 17.376 23.616 17.376 47.584 0 34.368-.32 62.08-.32 70.496 0 6.88 4.608 14.88 17.6 12.352C438.72 472.145 512 375.857 512 262.353 512 120.401 397.376 5.329 255.968 5.329z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 212 212" id="gitlab">
|
||
<path d="M12.3 74.7h54L43.3 3c-1-3.6-6.4-3.6-7.6 0L12.3 74.8z"></path>
|
||
<path d="M12.3 74.7L.5 111c-1 3.2 0 6.8 3 8.8l101.6 74-92.5-119z"></path>
|
||
<path d="M105 193.7l-38.6-119h-54l92.7 119z"></path>
|
||
<path d="M105 193.7l38.7-119H66.4l38.7 119z"></path>
|
||
<path d="M105 193.7l38.7-119H198l-93 119z"></path>
|
||
<path d="M198 74.7l11.6 36.2c1 3 0 6.6-3 8.6l-101.5 74 93-119z"></path>
|
||
<path d="M198 74.7h-54.3L167 3c1.2-3.6 6.4-3.6 7.6 0L198 74.8z"></path>
|
||
</symbol>
|
||
<symbol viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" id="rss">
|
||
<circle cx="3.429" cy="20.571" r="3.429"></circle>
|
||
<path d="M11.429 24h4.57C15.999 15.179 8.821 8.001 0 8v4.572c6.302.001 11.429 5.126 11.429 11.428z"></path>
|
||
<path d="M24 24C24 10.766 13.234 0 0 0v4.571c10.714 0 19.43 8.714 19.43 19.429z"></path>
|
||
</symbol>
|
||
<symbol viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" id="linkedin">
|
||
<path d="M437 0H75C33.648 0 0 33.648 0 75v362c0 41.352 33.648 75 75 75h362c41.352 0 75-33.648 75-75V75c0-41.352-33.648-75-75-75zM181 406h-60V196h60zm0-240h-60v-60h60zm210 240h-60V286c0-16.54-13.46-30-30-30s-30 13.46-30 30v120h-60V196h60v11.309C286.719 202.422 296.93 196 316 196c40.691.043 75 36.547 75 79.688zm0 0"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612" id="arrow">
|
||
<path d="M604.501 440.509L325.398 134.956c-5.331-5.357-12.423-7.627-19.386-7.27-6.989-.357-14.056 1.913-19.387 7.27L7.499 440.509c-9.999 10.024-9.999 26.298 0 36.323s26.223 10.024 36.222 0l262.293-287.164L568.28 476.832c9.999 10.024 26.222 10.024 36.221 0 9.999-10.023 9.999-26.298 0-36.323z"></path>
|
||
</symbol>
|
||
<symbol viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" id="carly">
|
||
<path d="M504.971 239.029L448 182.059V84c0-46.317-37.682-84-84-84h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c19.851 0 36 16.149 36 36v108c0 6.365 2.529 12.47 7.029 16.971L454.059 256l-47.029 47.029A24.002 24.002 0 0 0 400 320v108c0 19.851-16.149 36-36 36h-44c-13.255 0-24 10.745-24 24s10.745 24 24 24h44c46.318 0 84-37.683 84-84v-98.059l56.971-56.971c9.372-9.372 9.372-24.568 0-33.941zM112 192V84c0-19.851 16.149-36 36-36h44c13.255 0 24-10.745 24-24S205.255 0 192 0h-44c-46.318 0-84 37.683-84 84v98.059l-56.971 56.97c-9.373 9.373-9.373 24.568 0 33.941L64 329.941V428c0 46.317 37.682 84 84 84h44c13.255 0 24-10.745 24-24s-10.745-24-24-24h-44c-19.851 0-36-16.149-36-36V320c0-6.365-2.529-12.47-7.029-16.971L57.941 256l47.029-47.029A24.002 24.002 0 0 0 112 192z"></path>
|
||
</symbol>
|
||
<symbol viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" id="copy">
|
||
<path d="M23 2.75A2.75 2.75 0 0 0 20.25 0H8.75A2.75 2.75 0 0 0 6 2.75v13.5A2.75 2.75 0 0 0 8.75 19h11.5A2.75 2.75 0 0 0 23 16.25zM18.25 14.5h-7.5a.75.75 0 0 1 0-1.5h7.5a.75.75 0 0 1 0 1.5zm0-3h-7.5a.75.75 0 0 1 0-1.5h7.5a.75.75 0 0 1 0 1.5zm0-3h-7.5a.75.75 0 0 1 0-1.5h7.5a.75.75 0 0 1 0 1.5z"></path>
|
||
<path d="M8.75 20.5a4.255 4.255 0 0 1-4.25-4.25V2.75c0-.086.02-.166.025-.25H3.75A2.752 2.752 0 0 0 1 5.25v16A2.752 2.752 0 0 0 3.75 24h12a2.752 2.752 0 0 0 2.75-2.75v-.75z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512.001 512.001" id="closeme">
|
||
<path d="M284.286 256.002L506.143 34.144c7.811-7.811 7.811-20.475 0-28.285-7.811-7.81-20.475-7.811-28.285 0L256 227.717 34.143 5.859c-7.811-7.811-20.475-7.811-28.285 0-7.81 7.811-7.811 20.475 0 28.285l221.857 221.857L5.858 477.859c-7.811 7.811-7.811 20.475 0 28.285a19.938 19.938 0 0 0 14.143 5.857 19.94 19.94 0 0 0 14.143-5.857L256 284.287l221.857 221.857c3.905 3.905 9.024 5.857 14.143 5.857s10.237-1.952 14.143-5.857c7.811-7.811 7.811-20.475 0-28.285L284.286 256.002z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="open-menu">
|
||
<path d="M492 236H20c-11.046 0-20 8.954-20 20s8.954 20 20 20h472c11.046 0 20-8.954 20-20s-8.954-20-20-20zm0-160H20C8.954 76 0 84.954 0 96s8.954 20 20 20h472c11.046 0 20-8.954 20-20s-8.954-20-20-20zm0 320H20c-11.046 0-20 8.954-20 20s8.954 20 20 20h472c11.046 0 20-8.954 20-20s-8.954-20-20-20z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="instagram">
|
||
<path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="youtube">
|
||
<path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z"></path>
|
||
</symbol>
|
||
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="stackoverflow">
|
||
<path d="M21 27v-8h3v11H0V19h3v8h18z"></path><path d="M17.1.2L15 1.8l7.9 10.6 2.1-1.6L17.1.2zm3.7 14.7L10.6 6.4l1.7-2 10.2 8.5-1.7 2zM7.2 12.3l12 5.6 1.1-2.4-12-5.6-1.1 2.4zm-1.8 6.8l13.56 1.96.17-2.38-13.26-2.55-.47 2.97zM19 25H5v-3h14v3z"></path>
|
||
</symbol>
|
||
</svg>
|
||
|
||
|
||
<footer class="footer">
|
||
<div class="footer_inner wrap pale">
|
||
<img src="https://blog.levassb.ovh/icons/apple-touch-icon.png" class="icon icon_2 transparent" alt="BL-oG">
|
||
<p>Copyright <span class="year">2024</span> BL-OG. All Rights Reserved</p><a class="to_top" href="#documentTop" style="left: 1212px;">
|
||
<svg class="icon">
|
||
<use xlink:href="#arrow"></use>
|
||
</svg>
|
||
</a>
|
||
|
||
</div>
|
||
</footer>
|
||
|
||
<script type="text/javascript" crossorigin="anonymous"></script>
|
||
|
||
|
||
|
||
</body></html>
|