{"id":13617631,"url":"https://github.com/CMiksche/gitea-auto-update","last_synced_at":"2025-04-14T06:34:43.802Z","repository":{"id":35080696,"uuid":"159230031","full_name":"CMiksche/gitea-auto-update","owner":"CMiksche","description":"A script which can update gitea via crontab automatically to a new version.","archived":false,"fork":false,"pushed_at":"2024-08-07T11:37:29.000Z","size":106,"stargazers_count":36,"open_issues_count":1,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-07T17:10:00.680Z","etag":null,"topics":["bash","gitea","gitea-update","gitea-upgrade","python","python-package","update","upgrade"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CMiksche.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":null,"patreon":"cmiksche","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"CMiksche","issuehunt":null,"otechie":null,"custom":["https://www.paypal.me/CMiksche","https://buymeacoff.ee/WmgU5Sk"]}},"created_at":"2018-11-26T20:42:16.000Z","updated_at":"2024-08-28T14:49:00.000Z","dependencies_parsed_at":"2023-12-16T21:13:25.930Z","dependency_job_id":"ee8aeade-677e-427d-abec-0da385d2357c","html_url":"https://github.com/CMiksche/gitea-auto-update","commit_stats":{"total_commits":76,"total_committers":9,"mean_commits":8.444444444444445,"dds":"0.39473684210526316","last_synced_commit":"5bf70c379b7b7bc5c8826b0d1bb2a7cb6e0b78bf"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMiksche%2Fgitea-auto-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMiksche%2Fgitea-auto-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMiksche%2Fgitea-auto-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CMiksche%2Fgitea-auto-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CMiksche","download_url":"https://codeload.github.com/CMiksche/gitea-auto-update/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223621922,"owners_count":17174786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","gitea","gitea-update","gitea-upgrade","python","python-package","update","upgrade"],"created_at":"2024-08-01T20:01:45.040Z","updated_at":"2024-11-08T02:30:50.691Z","avatar_url":"https://github.com/CMiksche.png","language":"Python","funding_links":["https://patreon.com/cmiksche","https://liberapay.com/CMiksche","https://www.paypal.me/CMiksche","https://buymeacoff.ee/WmgU5Sk"],"categories":["Python"],"sub_categories":[],"readme":"# Gitea Auto Update\n\n[![Build Status](https://github.com/CMiksche/gitea-auto-update/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/CMiksche/gitea-auto-update/actions/workflows/test.yml)\n[![Publish Package](https://github.com/CMiksche/gitea-auto-update/actions/workflows/pypi-publish.yml/badge.svg)](https://github.com/CMiksche/gitea-auto-update/actions/workflows/pypi-publish.yml)\n[![PyPI version](https://badge.fury.io/py/gitea-auto-update.svg)](https://badge.fury.io/py/gitea-auto-update)\n[![Downloads](https://pepy.tech/badge/gitea-auto-update)](https://pepy.tech/project/gitea-auto-update)\n![GitHub](https://img.shields.io/github/license/cmiksche/gitea-auto-update?style=flat)\n[![Twitter Follow](https://img.shields.io/twitter/follow/cmiksche?style=social)](https://twitter.com/cmiksche)\n[![Mastodon Follow](https://img.shields.io/mastodon/follow/106336578279256330?domain=https%3A%2F%2Fmastodon.social\u0026style=social)](https://mastodon.social/@cmiksche)\n\nScript for an automatic update of gitea. Should be run locally on the gitea server. Has options for updating via new binary file or build from source.\n\nThis project is on life-support. I focus on bringing new features to my paid [Autoupdate](https://chapati.systems/autoupdate/) tool.\n\n## Want to update more?\n\n\u003e If you want to update Gitea and other software (like Drone, Caddy, Podman, Python, Zitadel and Kanboard), you should check out [Autoupdate](https://chapati.systems/autoupdate/).\n\u003e\n\u003e This new tool of mine was built as a single binary with a config file and tested on multiple Linux systems.\n\n## Procedure\n* Get Gitea Version from the Gitea CLI and if that fails from the Gitea API\n* Get latest Release via GitHub API\n* Check if there is a newer Version\n* If there is a newer Version:\n    * If binary file was selected:\n        * Download new version\n        * Check sha256\n        * Overwrite old version\n    * If build from source is active:\n        * Checkout new release branch\n        * Build binary\n        * Overwrite old binary\n\n\n## General Information\nLicense: GNU General Public License\n\nAuthor: Christoph Daniel Miksche (m5e.de)\n\nUses python version 3\n\n\n## Dependencies\nEnsure `pip3`, `setuptools`, `xz-utils` and `wheel` dependencies are installed on the system you are running this script in. (Most Linux OS like Ubuntu or Debian come with these pre-installed)\n\n## Installation\n\nCreate a settings.ini file on your system. Example:\n\n  ````\n[Gitea]\nsite=https://your-gitea-instance.com/api/v1/version\napiUrl=https://api.github.com/repos/go-gitea/gitea/releases/latest\nsystem=linux-amd64\nfile=/usr/local/bin/gitea\ntmpDir=/tmp/\nbuildFromSource=\nsourceDir=\nlogFile=update.log\n  ````\n\nUse the following command to install gitea-auto-update.\n\n  ```\n  sudo pip3 install gitea-auto-update\n  ```\n\nEnter the command `gitea-auto-update --settings=/path/to/settings.ini` in your commandline.\n\nIf you want to schedule your updates, edit your /etc/crontab file.\n\n## Tutorials\n\n* English: http://blog.m5e.de/gitea/update/upgrade/bash/script/2018/11/26/gitea-auto-update-script.html\n* German: https://blog.wronnay.net/automatische-gitea-updates/\n\n## Development\n\nThe following instructions help you for developing.\n\n* Check out the [Contribution Guidelines](CONTRIBUTING.md).\n* Clone this git repo\n* Install pipenv: `pip install pipenv`\n* Install all dependencies: `pipenv install`\n* Install git pre-commit hooks (for pylint and gitlint) with `pre-commit install`\n* You can run the tests with `python -m unittest`\n* After pushing, you should check the build status which currently checks the tests, pylint and the commit message format.\n\n### Notes\n\nThe following steps are automatically executed via pre-commit hooks.\n\n* You can run pylint with `pylint gitea_auto_update`\n* After changes and commit, you can check if your commit message follows the contribution guidelines with `gitlint`. If there is a problem, gitlint will show you a error message.\n\n## Contributors\n\nSee https://github.com/CMiksche/gitea-auto-update/graphs/contributors\n\nThank you for your support!\n\nInterested in contributing to this project? Check out the [Contribution Guidelines](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCMiksche%2Fgitea-auto-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCMiksche%2Fgitea-auto-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCMiksche%2Fgitea-auto-update/lists"}