alpine-wiki/tutorials/alpine-howto-gitea-package.md

189 lines
6.5 KiB
Markdown
Raw Normal View History

# alpine server gitea
Gitea is a community managed lightweight code hosting solution written in Go.
It is a fork of Gogs.
**This is a fast guide how to using our alpine package, for more elaborated and professional, use the
[server-alpine-gitea-professional.md](server-alpine-gitea-professional.md) document.**
## Preparations
* setup a hostname
* added and update normal repositories
```
hostname giteahost
echo 'hostname="giteahost"' > /etc/conf.d/hostname
echo "giteahost" > /etc/hostname
cat > /etc/apk/repositories << EOF; $(echo)
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
EOF
apk update
```
## Installation
* install the gitea
* install indirect dependences: grep, lsof, less, curl, binutils, attr
* install direct dependences: git, gnupg, bash, coreutils
* alternate the edge repository [explanations check here](server-alpine-gitea-professional.md#installation)
* install gitea last version from edge repository no matter what alpine version you have
* restore normal repository
```
apk add bash coreutils grep lsof less curl binutils dialog attr
apk add git git-lfs gnupg gnupg1 sqlite sqlite libs openssl
export PAGER=less
cat >> /etc/apk/repositories << EOF; $(echo)
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
EOF
apk update --allow-untrusted
apk add gitea --allow-untrusted
cat > /etc/apk/repositories << EOF; $(echo)
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
EOF
apk update --allow-untrusted
```
## Configurations
| Artifac | Name | Defaults or packaged | Customizable |
| --------------- | ---------------- | ----------------------- | ------------ |
| Binary program | gitea | `/usr/bin/gitea` | no |
| Daemon script | gitea | `/etc/init.d/gitea` | no |
| Daemon user | gitea | `/var/lib/gitea/` | no |
| Group user | www-data | `/var/www/` | no |
| Working dir | GITEA_WORK_DIR | `/var/lib/gitea/` | yes |
| Customizing | GITEA_CUSTOM | `/var/lib/gitea/custom/` | yes,depends |
| Config global | gitea.ini | `/etc/gitea/app.ini` | yes,depends |
| Web files | STATIC_ROOT_PATH | `/usr/share/webapps/gitea/` | no |
| Data files | APP_DATA_PATH | `/var/lib/gitea/data/` | depends |
| Git repositories | GITEA_GIT_DIR | `/var/lib/gitea/git` | yes |
| Loggin files | internally | `/var/log/gitea` | no |
Configuration must depends of the **backend database files**:
| Database | Needs setup | Default Location |
| ---------- | ----------- | ---------------- |
| Sqlite | No | `/var/lib/gitea/db/gitea.db` |
| MySQL | Yes | `/run/mysqld/mysqld.sock` |
| PostgreSQL | Yes | `localhost:5232` |
### 1- Configure the Database
Choose the configuration option now:
##### Option 1.A Setup backend SQLITE
```
sed -i -r 's#PATH =.*.db#PATH = /var/lib/gitea/db/gitea.db#g' /var/lib/gitea/app.ini
service gitea start
rc-update add gitea default
service gitea status
```
##### Option 1.B Setup backend MySQL
```
apk add mariadb mariadb-client
sed -i "s|.*skip-networking.*|skip-networking|g" /etc/mysql/my.cnf
sed -i "s|.*skip-networking.*|skip-networking|g" /etc/my.cnf.d/mariadb-server.cnf
/etc/init.d/mariadb setup
/etc/init.d/mariadb start
rc-update add mariadb default
service gitea start
rc-update add gitea default
service gitea status
```
##### Option 1.C Setup backend PostgreSQL
```
sed -i "s|||g" /var/lib/postgresql/*/data/pg_hba.conf
apk add postgresql postgresql-client
/etc/init.d/postgresql setup
/etc/init.d/postgresql start
rc-update add postgresql default
service gitea start
rc-update add gitea default
service gitea status
```
### 2- configure the service
After check that is "running" you must setup graphically using a web browser,
poiting to `http://localhost:3000`, in the case of this document should be
pointing to `http://giteahost.mydomain.com:3000` and a web landing will show.
The post-installation process happends when you visit the url with the browser.
**The post install page**, will be displayed and only are show when try to use
the system for the first time, away of the starting page, by example if browse
the repositories or try to login. You must not forgotten to setup that final
installation process.
**Database configs** will be depending of the choice made in the steps avobe,
just give the required credentials, only the case of sqlite does not need complications.
**Administrator account** must be configured before push "install gitea", the
button at the end of the post-configuration page when you first visit the installation.
Provide an username for admin user, take note "admin" are a reserved word so
choose another name. after provide passowrd you will continue the installation.
**Redirection to landing** can be a problem cos after proceed the service of gitea
will try to send to "localhost", to fix that, just go to the config file
at the key value of `ROOT_URL` and check not contains "localhost" in it, change
to the web url of the server in this case document is `http://giteahost.mydomain.com:3000`
## see also
* [server-alpine-gitea-professional.md](server-alpine-gitea-professional.md)
* [server-alpine-gitea-professional.md](server-alpine-gitea-professional.md)
# LICENSE
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
in any medium or format for noncommercial purposes only, and only so long as attribution is given
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
material under identical terms, includes the following elements:
* **BY** Credit must be given to the creator of each content respectivelly, starting at the first contributor.
* **NC** Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
* **SA** Adaptations must be shared under the same terms, you must obey this terms and do not change it.
For more information check the [alpine/copyright.md](../../alpine/copyright.md)