|
|
|
# Gitea
|
|
|
|
|
|
|
|
Gitea is a selfhostable git server with a web interface.
|
|
|
|
It is similar to Github but opensource.
|
|
|
|
|
|
|
|
## Client
|
|
|
|
|
|
|
|
If you want to use all features in addition to the basic client described in
|
|
|
|
[git.md](git.md) but don't want to use the web-interface all the time you can get
|
|
|
|
[tea](https://gitea.com/gitea/tea) the official cli-tool for gitea.
|
|
|
|
|
|
|
|
## Setup Server
|
|
|
|
|
|
|
|
### Docker
|
|
|
|
|
|
|
|
#### Gitea
|
|
|
|
|
|
|
|
##### Environment-variables
|
|
|
|
|
|
|
|
Set the following environment-variables in the `environment:` section of the
|
|
|
|
docker-compose file.
|
|
|
|
|
|
|
|
| Name | Usage | Default |
|
|
|
|
| ----------- | ------------------------------ | ------- |
|
|
|
|
| `USER_UID` | User userid to run gitea | |
|
|
|
|
| `USER_GID` | User groupid to run gitea | |
|
|
|
|
| `DB_TYPE` | Specify database type | |
|
|
|
|
| `DB_HOST` | Specify database host and port | |
|
|
|
|
| `DB_NAME` | Specify Name of the database | |
|
|
|
|
| `DB_USER` | Username for the database | |
|
|
|
|
| `DB_PASSWD` | Password for the database | |
|
|
|
|
|
|
|
|
##### Volumes
|
|
|
|
|
|
|
|
Set the following volumes in the `volumes:` section of the docker-compose file.
|
|
|
|
|
|
|
|
| Volume-Name | Container mount | Description |
|
|
|
|
| ---------------- | ------------------ | ------------------------------ |
|
|
|
|
| `data` | `/data` | storage for data of git server |
|
|
|
|
| `/etc/timezone` | `/etc/timezone:ro` | link timezone |
|
|
|
|
| `/etc/localtime` | `/etc/localtime` | link localtime |
|
|
|
|
|
|
|
|
##### Ports
|
|
|
|
|
|
|
|
Set the following ports in the `ports:` section.
|
|
|
|
|
|
|
|
| Container Port | Recommended outside port | Protocol | Description |
|
|
|
|
| -------------- | ------------------------ | -------- | ---------------------- |
|
|
|
|
| `3000` | `3000` | TCP | WebUI |
|
|
|
|
| `22` | `222` | TCP | ssh port of git server |
|
|
|
|
|
|
|
|
##### Networks
|
|
|
|
|
|
|
|
Set the following networks in the `networks:` section of the docker-compose file.
|
|
|
|
|
|
|
|
| Name | Usage |
|
|
|
|
| ------- | --------------------- |
|
|
|
|
| `gitea` | connect db with gitea |
|
|
|
|
|
|
|
|
##### Dependencies
|
|
|
|
|
|
|
|
Set the following dependencies in the `depends_on:` section of the
|
|
|
|
docker-compose file.
|
|
|
|
|
|
|
|
| Name | Usage |
|
|
|
|
| ---- | -------------------- |
|
|
|
|
| `db` | Ensure db is running |
|
|
|
|
|
|
|
|
#### MySql
|
|
|
|
|
|
|
|
##### Environment-variables
|
|
|
|
|
|
|
|
Set the following environment-variables in the `environment:` section of the
|
|
|
|
docker-compose file.
|
|
|
|
|
|
|
|
| Name | Usage | Default |
|
|
|
|
| --------------------- | ----------------------------- | ------- |
|
|
|
|
| `MYSQL_ROOT_PASSWORD` | set the mysql admin password | |
|
|
|
|
| `MYSQL_USER` | set the mysql username | |
|
|
|
|
| `MYSQL_PASSWORD` | set the mysql user password | |
|
|
|
|
| `MYSQL_Database` | specify mysql database to use | |
|
|
|
|
|
|
|
|
##### Volumes
|
|
|
|
|
|
|
|
Set the following volumes in the `volumes:` section of the docker-compose file.
|
|
|
|
|
|
|
|
| Volume-Name | Container mount | Description |
|
|
|
|
| ----------- | ---------------- | ------------------------- |
|
|
|
|
| `mysql` | `/var/lib/mysql` | storage for owncloud data |
|
|
|
|
|
|
|
|
##### Networks
|
|
|
|
|
|
|
|
Set the following networks in the `networks:` section of the docker-compose file.
|
|
|
|
|
|
|
|
| Name | Usage |
|
|
|
|
| ------- | --------------------- |
|
|
|
|
| `gitea` | connect db with gitea |
|
|
|
|
|
|
|
|
#### Rebuild
|
|
|
|
|
|
|
|
```shell
|
|
|
|
#!/bin/sh
|
|
|
|
docker-compose down
|
|
|
|
docker-compose up -d
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Docker-Compose.yml
|
|
|
|
|
|
|
|
```yml
|
|
|
|
version: "2"
|
|
|
|
|
|
|
|
networks:
|
|
|
|
gitea:
|
|
|
|
external: false
|
|
|
|
|
|
|
|
services:
|
|
|
|
server:
|
|
|
|
image: gitea/gitea:latest
|
|
|
|
environment:
|
|
|
|
- USER_UID=1000
|
|
|
|
- USER_GID=1000
|
|
|
|
- DB_TYPE=mysql
|
|
|
|
- DB_HOST=db:3306
|
|
|
|
- DB_NAME=gitea
|
|
|
|
- DB_USER=gitea
|
|
|
|
- DB_PASSWD=gitea
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
- gitea
|
|
|
|
volumes:
|
|
|
|
- data:/data
|
|
|
|
- /etc/timezone:/etc/timezone:ro
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
ports:
|
|
|
|
- "3000:3000"
|
|
|
|
- "222:22"
|
|
|
|
depends_on:
|
|
|
|
- db
|
|
|
|
db:
|
|
|
|
image: mysql:5.7
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
- MYSQL_ROOT_PASSWORD=gitea
|
|
|
|
- MYSQL_USER=gitea
|
|
|
|
- MYSQL_PASSWORD=gitea
|
|
|
|
- MYSQL_DATABASE=gitea
|
|
|
|
networks:
|
|
|
|
- gitea
|
|
|
|
volumes:
|
|
|
|
- mysql:/var/lib/mysql
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
data:
|
|
|
|
driver: local
|
|
|
|
mysql:
|
|
|
|
driver: local
|
|
|
|
```
|