wiki-grav/pages/02.linux/21.gitea/default.en.md

62 lines
1.7 KiB
Markdown
Raw Normal View History

---
title: Gitea
---
## Pre-Setup
Create a gitea user
`# useradd -m git`
`# mkdir /etc/gitea`
`# chown git:git -R /etc/gitea`
Get the user id of git with `id git`
## Installation
Use podman to run the container
`apt install podman`
```
podman run --name gitea -p 3000:3000 \
-p 127.0.0.1:2222:22 \
-e USER_UID=1002 \
-e USER_GID=1002 \
-v /etc/gitea:/data \
-v /home/git/.ssh/:/data/git/.ssh \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
--restart unless-stopped \
-d docker.io/gitea/gitea:latest
```
The next few lines are used to set up ssh-redirection to gitea if it is used to clone a repo.
> See also the [official documentation](https://docs.gitea.io/en-us/install-with-docker/#sshing-shim-with-authorized_keys)
{.is-info}
`$ sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"`
`$ sudo -u git cat /home/git/.ssh/id_rsa.pub | sudo -u git tee -a /home/git/.ssh/authorized_keys`
`$ sudo -u git chmod 600 /home/git/.ssh/authorized_keys`
```
$ cat <<"EOF" | sudo tee /usr/local/bin/gitea
#!/bin/sh
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
EOF
```
`$ sudo chmod +x /usr/local/bin/gitea`
We've now finished setting up the ssh-redirection.
After that, connect to the Server on port 3000 to finish the installation
The first registered user will be made admin
## Management CLI
Gitea comes with a management cli. To access it, change into the Container first and su into the user "git".
`# podman exec -it gitea bash`
`# su git`
### User Management
List users:
`$ gitea admin user list`
Change user password:
`$ gitea admin user change-password -u (user) -p (password)`