[squash] improve README

This commit is contained in:
crystal 2024-11-18 05:00:50 -07:00
parent cd9e6df162
commit e4efacb827
No known key found for this signature in database
GPG key ID: 1122054731F7CC43

View file

@ -1,36 +1,67 @@
# Debian Packages for Forgejo
Hello! If you want to run Forgejo on Debian/Ubuntu and you're looking for packages to install it to your system, you've come to the right place!
Project to bring Forgejo to Debian/Ubuntu as a system package with full systemd integration. This project is relatively stable for daily use, though it admittedly has some maintainership difficulties. We are currently working on automating more of the update process to allow for more streamlined updates.
## Download info
You can find the latest release downloads in [the releases tab](https://codeberg.org/forgejo-contrib/forgejo-deb/releases). There are currently 3 packages built by this script.
- `forgejo`: A basic production-ready Forgejo build without SQLite support
- `forgejo-sqlite`: A Forgejo build with SQLite support, best way to get started fast
- `forgejo-bin`: A Debian package with the official Forgejo binary, in case you don't trust my builds
## Packages
You should [use apt](#install-with-apt) to install the package. It will take care of dependencies and online updates with minimal additional effort. The packages provided by this repo are described below.
- `forgejo`: Production-ready build for PostgreSQL or MariaDB (no SQLite support!)
- `forgejo-sqlite`: Build with SQLite support, no manual database setup required
- `forgejo-common`: Common files for Forgejo v7.0.7+, required dependency for both packages above
- `forgejo-bin`: Package with official binary downloaded from Codeberg, common package not required
## Installation
These packages are easy to use! Just download your preferred package, install it with `sudo apt install ./forgejo*_amd64.deb` and point your browser to `http://localhost:3000`. The package will set up Forgejo as a systemd service and take care of creating a new user for Forgejo, so all you need to do is set it up to your liking.
You can also directly download releases for [manual installation](#manual-installation). This installation method is not recommended.
The default username for Forgejo's user is `forgejo`, but it can easily be changed prior to installation, for example if you would rather run Forgejo as user `git`. All you need to do is download the files from the `etc` folder in this repository, put them in the respective places on your system, and customize them to your liking. When you use apt to install the Forgejo package, it will create a new user with the specified settings.
## Updates through apt
You can install updates for this package along with all the other software on your system with `apt` thanks to the Debian package registry added in Forgejo v1.20. Run the following commands to set up the repository on your system:
## Install with apt
Debian's integrated package manager will be used in conjunction with Forgejo's Debian package registry to install and update Forgejo and any other required software. Run the following commands to install the repository on your system:
```sh
sudo apt install wget apt-transport-https
wget --content-disposition https://code.forgejo.org/forgejo-contrib/-/packages/debian/forgejo-deb-repo/0-0/files/2890
wget --content-disposition https://code.forgejo.org/forgejo-contrib/-/packages/debian/forgejo-deb-repo/0-0/files/10103
sudo apt install ./forgejo-deb-repo_0-0_all.deb
sudo apt update
sudo apt upgrade
sudo apt install forgejo-sqlite
```
If you already installed Forgejo using a package from the releases tab, it will now be automatically updated along with the rest of your system packages. If you have not yet installed Forgejo, you can now install it with `apt install forgejo(-sqlite|-bin)`
You should now be able to access Forgejo setup by pointing a browser to `http://localhost:3000`. Replace `forgejo-sqlite` with whichever variant of the package you prefer from the list [above](#packages). If you have previously installed one of these packages using the manual installation method, the commands above will use apt to update it. After installing the repository, future Forgejo updates will be installed along with system updates when running `apt upgrade`.
## Removal
Removing Forgejo itself from your system is simple, just `sudo apt remove forgejo(-sqlite|-bin)`. If you use `sudo apt purge`, the related configuration files will also be removed from `/etc/forgejo`. To avoid accidentally destroying user data, other things including the Forgejo user will be left behind. The following commands will remove everything from your system.
```sh
sudo apt purge forgejo
sudo rm -rf /var/lib/forgejo
sudo rm -rf /etc/forgejo /etc/default/forgejo /etc/systemd/system/forgejo.service.d
sudo deluser forgejo
```
If you customized the user or home directory before installing Forgejo, make sure to adjust the commands accordingly. If you get an error saying the files you are trying to delete do not exist, don't worry about it.
## Username Customization
The default username for Forgejo is `forgejo`, but it can easily be changed prior to installation. For example, if you would rather run Forgejo as user `git`. Download the files from the `etc` folder in this repository, place them in the respective directories on your filesystem, and customize them to your liking. When you use `apt` to install the Forgejo package, it will create a new user with the specified settings.
If you installed the `apt` repository and you would like to remove it, use `sudo apt purge forgejo-deb-repo forgejo-deb-repokey`
## Supported versions
The following Forgejo versions are currently supported
| Forgejo | Supported | Latest |
| ---------- | --------- | -------------- |
| v9.0.x | 🚧 WIP | |
| v8.0.x | ❌ | |
| v7.0.x LTS | ✅ LTS | v7.0.11 |
| v1.21 | ✅ EOL | v1.21.11-2 |
| v1.20 | ⚠️ EOL | v1.20.6-1+deb0 |
| v1.19 | ⚠️ EOL | v1.19.4-0 |
| v1.18 | ⚠️ EOL | v1.18.5-0
## Manual installation
This installation procedure is not recommended! It is annoying to install, difficult to maintain, and requires manual updates.
<details>
<summary>If you wish to proceed anyway, click to expand</summary>
1. Download the latest desired packages from [the releases tab](https://codeberg.org/forgejo-contrib/forgejo-deb/releases).
- Choose a variant from the list [above](#packages), and download the respective package(s)
- Also download the respective `forgejo-common` package, if required
2. Use `apt` to install the package(s) from your local filesystem.
- `sudo apt install ./forgejo*.deb`
3. If everything went smoothly, you should be able to access Forgejo setup by pointing a browser to `http://localhost:3000`
</details>
## Uninstall
<details>
<summary>Click to expand</summary>
You can remove the package using `sudo apt remove forgejo(-sqlite|-bin)`. If you use `sudo apt purge`, the related configuration files will also be removed from `/etc/forgejo`. To avoid accidentally destroying user data, other things including the Forgejo user will be left behind. The following commands will remove everything from your system.
```sh
sudo apt purge forgejo forgejo-sqlite forgejo-common forgejo-bin
sudo rm -rf /var/lib/forgejo
sudo rm -rf /etc/forgejo /etc/default/forgejo /etc/systemd/system/forgejo.service.d
sudo deluser forgejo
```
If you customized the user or home directory before installing Forgejo, make sure to adjust the commands accordingly.
If you installed the `apt` repository and you would like to remove it, use `sudo apt purge forgejo-deb-repo forgejo-deb-repokey`
</details>