1174 lines
26 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Demo site for Changemaker">
<meta name="author" content="Bunker Ops">
<link rel="canonical" href="http://betteredmonton.org/apps/gitea/">
<link rel="prev" href="../excalidraw/">
<link rel="next" href="../openwebui/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.13">
<title>Gitea - Changemaker Documentation</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.342714a4.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../../stylesheets/extra.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<meta property="og:type" content="website" >
<meta property="og:title" content="Gitea - Changemaker Documentation" >
<meta property="og:description" content="Demo site for Changemaker" >
<meta property="og:image" content="http://betteredmonton.org/assets/images/social/apps/gitea.png" >
<meta property="og:image:type" content="image/png" >
<meta property="og:image:width" content="1200" >
<meta property="og:image:height" content="630" >
<meta property="og:url" content="http://betteredmonton.org/apps/gitea/" >
<meta name="twitter:card" content="summary_large_image" >
<meta name="twitter:title" content="Gitea - Changemaker Documentation" >
<meta name="twitter:description" content="Demo site for Changemaker" >
<meta name="twitter:image" content="http://betteredmonton.org/assets/images/social/apps/gitea.png" >
</head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="deep-purple" data-md-color-accent="amber">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#gitea-self-hosted-git-service" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
<aside class="md-banner">
<div class="md-banner__inner md-grid md-typeset">
<a href="https://homepage.betteredmonton.org" class="login-button">Login</a>
This is a demo site for Change Maker. <a href="https://changemaker.bnkops.com">Learn more</a>
</div>
</aside>
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="Changemaker Documentation" class="md-header__button md-logo" aria-label="Changemaker Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Changemaker Documentation
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Gitea
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../.." class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../readme/" class="md-tabs__link">
About Changemaker
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="../" class="md-tabs__link">
Applications
</a>
</li>
<li class="md-tabs__item">
<a href="../../guides/authoring-content/" class="md-tabs__link">
Authoring Guide
</a>
</li>
<li class="md-tabs__item">
<a href="../../ollama/" class="md-tabs__link">
Ollama Setup (Legacy)
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Changemaker Documentation" class="md-nav__button md-logo" aria-label="Changemaker Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
Changemaker Documentation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../readme/" class="md-nav__link">
<span class="md-ellipsis">
About Changemaker
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<span class="md-ellipsis">
Applications
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Applications
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../homepage/" class="md-nav__link">
<span class="md-ellipsis">
Homepage Dashboard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../code-server/" class="md-nav__link">
<span class="md-ellipsis">
Code Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../flatnotes/" class="md-nav__link">
<span class="md-ellipsis">
Flatnotes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../nocodb/" class="md-nav__link">
<span class="md-ellipsis">
NocoDB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../mkdocs-material/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs Material
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../excalidraw/" class="md-nav__link">
<span class="md-ellipsis">
Excalidraw
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Gitea
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Gitea
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#key-features" class="md-nav__link">
<span class="md-ellipsis">
Key Features
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#getting-started-with-gitea" class="md-nav__link">
<span class="md-ellipsis">
Getting Started with Gitea
</span>
</a>
<nav class="md-nav" aria-label="Getting Started with Gitea">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#accessing-gitea" class="md-nav__link">
<span class="md-ellipsis">
Accessing Gitea
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#basic-usage" class="md-nav__link">
<span class="md-ellipsis">
Basic Usage
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#use-cases-within-changemaker" class="md-nav__link">
<span class="md-ellipsis">
Use Cases within Changemaker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#editing-the-site" class="md-nav__link">
<span class="md-ellipsis">
Editing the Site
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#further-information" class="md-nav__link">
<span class="md-ellipsis">
Further Information
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../openwebui/" class="md-nav__link">
<span class="md-ellipsis">
OpenWebUI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../monica-crm/" class="md-nav__link">
<span class="md-ellipsis">
Monica CRM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../answer/" class="md-nav__link">
<span class="md-ellipsis">
Answer
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ferdium/" class="md-nav__link">
<span class="md-ellipsis">
Ferdium
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../rocketchat/" class="md-nav__link">
<span class="md-ellipsis">
Rocket.Chat
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ollama/" class="md-nav__link">
<span class="md-ellipsis">
Ollama (Local AI)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../portainer/" class="md-nav__link">
<span class="md-ellipsis">
Portainer (Docker UI)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../guides/authoring-content/" class="md-nav__link">
<span class="md-ellipsis">
Authoring Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../ollama/" class="md-nav__link">
<span class="md-ellipsis">
Ollama Setup (Legacy)
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="gitea-self-hosted-git-service">Gitea: Self-Hosted Git Service<a class="headerlink" href="#gitea-self-hosted-git-service" title="Permanent link">&para;</a></h1>
<p>Gitea is a lightweight, self-hosted Git service. It provides a web interface for managing your Git repositories, similar to GitHub or GitLab, but running on your own server. This gives you full control over your code, documents, and version history.</p>
<h2 id="key-features">Key Features<a class="headerlink" href="#key-features" title="Permanent link">&para;</a></h2>
<ul>
<li><strong>Repository Management</strong>: Create, manage, and browse Git repositories.</li>
<li><strong>Version Control</strong>: Track changes to code, documentation, and other files.</li>
<li><strong>Collaboration</strong>: Supports pull requests, issues, and wikis for team collaboration.</li>
<li><strong>User Management</strong>: Manage users and organizations with permission controls.</li>
<li><strong>Lightweight</strong>: Designed to be efficient and run on modest hardware.</li>
<li><strong>Self-Hosted</strong>: Full control over your data and infrastructure.</li>
<li><strong>Web Interface</strong>: User-friendly interface for common Git operations.</li>
</ul>
<h2 id="getting-started-with-gitea">Getting Started with Gitea<a class="headerlink" href="#getting-started-with-gitea" title="Permanent link">&para;</a></h2>
<h3 id="accessing-gitea">Accessing Gitea<a class="headerlink" href="#accessing-gitea" title="Permanent link">&para;</a></h3>
<ol>
<li><strong>URL</strong>: Access Gitea locally via <code>http://localhost:3030/</code> (or your configured external URL).</li>
<li><strong>Login/Registration</strong>: <ul>
<li>The first time you access Gitea, you might need to go through an initial setup process or register an administrator account.</li>
<li>For subsequent access, log in with your Gitea credentials.</li>
</ul>
</li>
</ol>
<h3 id="basic-usage">Basic Usage<a class="headerlink" href="#basic-usage" title="Permanent link">&para;</a></h3>
<ol>
<li>
<p><strong>Create a Repository</strong>:</p>
<ul>
<li>Once logged in, look for a "New Repository" button (often a "+" icon in the header).</li>
<li>Give your repository a name, description, and choose visibility (public or private).</li>
<li>You can initialize it with a README, .gitignore, and license if desired.</li>
</ul>
</li>
<li>
<p><strong>Cloning a Repository</strong>:</p>
<ul>
<li>On the repository page, find the clone URL (HTTPS or SSH).</li>
<li>Use this URL with the <code>git clone</code> command in your local terminal or within Code Server's terminal:
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>git<span class="w"> </span>clone<span class="w"> </span>http://localhost:3030/YourUsername/YourRepository.git
</code></pre></div></li>
</ul>
</li>
<li>
<p><strong>Making Changes and Pushing</strong>:</p>
<ul>
<li>Make changes to files in your cloned repository locally.</li>
<li>Use standard Git commands to commit and push your changes:
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>git<span class="w"> </span>add<span class="w"> </span>.
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>git<span class="w"> </span>commit<span class="w"> </span>-m<span class="w"> </span><span class="s2">&quot;Your commit message&quot;</span>
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>git<span class="w"> </span>push<span class="w"> </span>origin<span class="w"> </span>main<span class="w"> </span><span class="c1"># Or your default branch name</span>
</code></pre></div></li>
</ul>
</li>
<li>
<p><strong>Using the Web Interface</strong>:</p>
<ul>
<li><strong>Browse Files</strong>: View files and commit history directly in Gitea.</li>
<li><strong>Issues</strong>: Track bugs, feature requests, or tasks.</li>
<li><strong>Pull Requests</strong>: If collaborating, use pull requests to review and merge changes.</li>
<li><strong>Settings</strong>: Manage repository settings, collaborators, webhooks, etc.</li>
</ul>
</li>
</ol>
<h2 id="use-cases-within-changemaker">Use Cases within Changemaker<a class="headerlink" href="#use-cases-within-changemaker" title="Permanent link">&para;</a></h2>
<ul>
<li><strong>Version Control for Documentation</strong>: Store and manage the Markdown files for your MkDocs site in a Gitea repository. This allows you to track changes, revert to previous versions, and collaborate on content.</li>
<li><strong>Code Management</strong>: If you are developing any custom code or scripts for your Changemaker instance or related projects.</li>
<li><strong>Configuration File Management</strong>: Keep track of important configuration files with version history.</li>
<li><strong>Collaborative Content Development</strong>: Teams can work on documents, with changes reviewed via pull requests before merging.</li>
</ul>
<h2 id="editing-the-site">Editing the Site<a class="headerlink" href="#editing-the-site" title="Permanent link">&para;</a></h2>
<p>While Gitea hosts the <em>source files</em> (e.g., Markdown files for this documentation), the actual <em>editing process</em> for this MkDocs site is typically done using <strong>Code Server</strong>. You would:
1. Clone your documentation repository from Gitea to your local workspace (or open it directly if it's already part of your Changemaker file structure accessible by Code Server).
2. Edit the Markdown files using Code Server.
3. Commit and push your changes back to Gitea using Git commands in the Code Server terminal.</p>
<h2 id="further-information">Further Information<a class="headerlink" href="#further-information" title="Permanent link">&para;</a></h2>
<ul>
<li><strong>Gitea Official Documentation</strong>: <a href="https://docs.gitea.io/">https://docs.gitea.io/</a></li>
</ul>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2024 The Bunker Operations - Built with Change Maker
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.sections", "navigation.tracking", "navigation.indexes", "navigation.collapse", "toc.integrate", "content.code.copy", "navigation.top", "navigation.tabs"], "search": "../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../../assets/javascripts/bundle.13a4f30d.min.js"></script>
</body>
</html>