1
0
mirror of https://gitea.com/gitea/awesome-gitea synced 2024-11-19 19:56:55 +00:00
awesome-gitea/README.md
nodiscc cbee11c833 add nodiscc.xsrv.gitea ansible role (#97)
Hi,

this PR adds the [xsrv.gitea](https://github.com/nodiscc/xsrv/tree/master/roles/gitea) ansible role, which can be used to deploy Gitea on any Debian-based Linux machine.

The role can be used from the [xsrv](https://xsrv.readthedocs.io/en/latest/) command-line tool/ansible wrapper, or with ansible [command-line](https://docs.ansible.com/ansible/latest/user_guide/command_line_tools.html) tools. Optionally it integrates with [netdata](https://github.com/nodiscc/xsrv/tree/master/roles/monitoring_netdata) for instance health monitoring, [apache](https://github.com/nodiscc/xsrv/tree/master/roles/apache) for reverse proxy and SSL/TLS certificate management, [rsnapshot](https://github.com/nodiscc/xsrv/tree/master/roles/backup) for automatic backups, and [postgresql](https://github.com/nodiscc/xsrv/tree/master/roles/postgresql) as a RDBMS.

Detailed installation/configuration documentation can be found at https://xsrv.readthedocs.io/en/latest/installation.html, but here is the short version using ansible command-line tools and self-signed certificates:

```bash
# create a project directory
$ mkdir -p ~/playbooks/myproject && cd ~/playbooks/myproject
# install ansible in a python virtualenv
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip3 install ansible
```

Create required files and directories (replace my.CHANGEME.org with the address of the server where gitea will be deployed, and other CHANGEME values with values of your choice)

```yaml
# requirements.yml
collections:
  - name: https://gitlab.com/nodiscc/xsrv.git
    type: git
    version: release # or master to get the latest, development version
```

```yaml
# inventory.yml
all:
  hosts:
    my.CHANGEME.org:
```

```yaml
# playbook.yml
- hosts: my.CHANGEME.org
  roles:
    - nodiscc.xsrv.common # (optional) base server setup/hardening/firewall/bruteforce prevention
    - nodiscc.xsrv.monitoring # (optional) server monitoring, log aggregation
    - nodiscc.xsrv.backup # (optional) automatic backups
    - nodiscc.xsrv.apache
    - nodiscc.xsrv.postgresql
    - nodiscc.xsrv.gitea
```

```yaml
# $ mkdir host_vars/my.CHANGEME.org
# host_vars/my.CHANGEME.org/my.CHANGEME.org.yml
#ansible_ssh_port: 2234 # SSH port, if different from 22
#ansible_host: 1.2.3.4 # SSH server address, if my.CHANGEME.org cannot be resolved from DNS
gitea_fqdn: "git.CHANGEME.org" # domain name of the gitea instance
```

```yaml
# $ ansible-vault edit host_vars/my.CHANGEME.org/my.CHANGEME.org.vault.yml
ansible_become_pass: "CHANGEME" # sudo password
gitea_admin_username: "CHANGEME"
gitea_admin_password: "CHANGEME"
gitea_admin_email: "CHANGEME@CHANGEME.org"
gitea_secret_key: "CHANGEME64"
gitea_internal_token: "CHANGEME160"
gitea_oauth2_jwt_secret: "CHANGEME43"
gitea_lfs_jwt_secret: "CHANGEME43"
```

```bash
# make the role/collection available to the ansible project
$ ansible-galaxy collection install --force -r requirements.yml
# deploy the role
$ ansible-playbook -i inventory.yml playbook.yml
```

See [defaults/main.yml](https://github.com/nodiscc/xsrv/blob/master/roles/gitea/defaults/main.yml) for all available configuration variables.

I use the role to manage multiple environments/instances for a few years without problems and will keep maintaining it in the foreseeable future.

Let me know if you need additional information.

Reviewed-on: https://gitea.com/gitea/awesome-gitea/pulls/97
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-by: pat-s <pat-s@noreply.gitea.io>
Co-authored-by: nodiscc <nodiscc@noreply.gitea.io>
Co-committed-by: nodiscc <nodiscc@noreply.gitea.io>
2022-12-01 19:49:19 +08:00

13 KiB

Awesome Gitea

Awesome Contribution%20Guide

A curated list of awesome projects related to Gitea.

Contents

Applications

Bot

  • giteacat - Python Bot that register Mastodon server's users to Gitea instance, on demand.
  • issue-bot - Bot for mailing list mirroring of Gitea issues. Allow people to submit issues on repositories using only e-mail without signing up. github read-only mirror
  • sq-bot - Bot for decorating Gitea pull requests with SonarQube analysis details.
  • staletea - StaleBot for Gitea.
  • tea-cloc - Bot to count lines of code on Gitea repos and comments on pull requests with code change statistics.

Command Line

  • changelog - Generate changelog of gitea repository.
  • gitea-cli - Extensible, configurable command-line API client for gitea and gogs.
  • gitea-installer - a simple ubuntu native installer script
  • sip - A prompt-based command line tool to interact with Gitea servers.
  • tea - A command line tool to interact with Gitea servers.

DevOps

  • agola - Agola: CI/CD Redefined. Built-in Gitea support.(see docs)
  • appveyor - Gitea receives first-class support in AppVeyor CI.
  • AWS Cloud Integration(webhook-to-s3) - Gitea Webhook integration with AWS CodePipeline and CodeBuild by automatically uploading the archive to AWS S3.
  • buildbot-gitea - Buildbot plugin for integration with gitea.
  • buildkite-connector - Connect Gitea & Buildkite.
  • Concourse - partially can be integrated with Gitea.
  • dex - Dex is a federated OpenID Connect provider. Built-in Gitea support.
  • drone - Drone is a Container-Native, Continuous Delivery Platform. Built-in Gitea support. (see docs)
  • ghorg - Quickly clone an entire org/users repositories into one directory - Supports Gitea, GitHub, GitLab, and more.
  • gickup - Backup tool for repositories.
  • Jenkins - Gitea plugin for jenkins.
  • Metroline - Metroline is a Continuous Integration and Delivery platform built with Docker, Node, React and MongoDB, natively compatible with Gitea.
  • Monitoring mixin - Gitea monitoring mixin (Grafana dashboard)
  • mvoCI - very simple Continuous Integration Server written in go. Built-in Gitea support.
  • Renovate - Gitea compatible configurable universal dependability update tool
  • Tea Runner - A minimalist Python Flask app that uses Gitea webhooks to perform actions.
  • woodpecker - An opinionated fork of the Drone CI system. Built-in Gitea support. (see docs)

Mobile

  • GitNex - Android client for Gitea.
  • GitTouch - Open source mobile client for GitHub, GitLab, Bitbucket and Gitea, built with Flutter

Panel

  • GiteaPanel - Manage the local Gitea server from the tray.
  • Listea - Simple Gitea issues viewer from the tray.

Migration

  • Bitbucket2Gitea - A python3 script to migrate all projects and repositories from Atlassian BitBucket to Gitea.
  • github2gitea - A python script to migrate Github repositories Gitea with issues/prs/wiki and etc.
  • gitlab2gitea - A command line tool build with Golang to migrate a GitLab project to Gitea.
  • Gogs2Gitea - A SQL script and process (README) to migrate directly from Gogs 0.12.3 to Gitea 1.12.5 / 1.12.6 in MySQL/MariaDB and maybe other DB's.

Organizations

Open Registration

  • Codeberg - Non-Profit Collaboration Community for Free and Open Source Projects (formerly known under its working title teahub.io).
  • Disroot - Aims to change the way people are used to interact on the web.
  • GitShuiShan - A Git platform for education
  • OpenDev - A space for collaborative Open Source software development.
  • ~vern gitea - A gitea instance for free software hackers

For internal use

  • FSFE - Git @ Free Software Foundation Europe
  • PSES - Git @ Pas Sage en Seine.
  • Sum7 - A hoster to support decentralized services. A step away from big cloud services.
  • Teknik - Provide services to help those who try to innovate.

Packages

Package Management

  • Acappella - Private Composer Repository for Gitea

Plugins

Scripts

SDK

  • Dart - Dart SDK for gitea
  • gitea.js - Gitea (WIP) wrapper lib made in javascript.
  • gitea-js - Gitea client in Typescript for browsers and Node.JS (npm) (docs)
  • Gitea.net - .NET Library for the Gitea API.
  • Gitea-sdk - Gitea SDK generated by Swagger. (Archived, use the official Golang SDK)
  • Giteapy - Python SDK for gitea
  • gitear - R wrapper to the gitea API
  • Gitea rust crate - A simple Gitea client for Rust programs
  • Golang SDK - Official Golang SDK for gitea.
  • java-gitea-api - Swagger generated api for Gitea
  • PHP - PHP SDK for gitea
  • Sugar Cube Client - A sweet Gitea API client for PHP
  • tea4j-autodeploy - Swagger-generated Java library which uses Retrofit to access the Gitea API

Themes

  • Catppuccin - Soothing pastel theme for Codeberg (Easily modified to work with any Gitea instance)
  • Modern - Changes the layout for a more modern look. Usable with other themes that only change colors.
  • theme.park - Rich theme suite that includes Gitea
  • pat-s/GitHub - Opinionated GitHub-inspired light and dark themes
  • Sainnhe's Theme Pack - Port of some editor themes

Light

  • Red - Red theme by saegl5 (forked from Red Silver)
  • Red Silver - Red silver theme by iamdoubz
  • lstolcman/GitHub - Simple Github theme for Gitea
  • Light Blue - Light blue theme inspired by Bitbucket

Dark

Workflow Tools

Project Management