mirror of https://github.com/tiyn/wiki
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
5.6 KiB
179 lines
5.6 KiB
# Git
|
|
|
|
## Setup Server
|
|
|
|
### Docker
|
|
|
|
#### Bare (No webinterface)
|
|
|
|
The official container and documentation was made by [jkarlos](https://hub.docker.com/r/jkarlos/git-server-docker).
|
|
|
|
##### Volumes
|
|
Set the following volumes with the -v tag.
|
|
|
|
| Volume-Name | Container mount | Description |
|
|
| ---------------- | ----------------- | --------------------------- |
|
|
| git-server-repos | /git-server/repos | storage for git repos |
|
|
| git-server-keys | /git-server/keys | storage for user ssh keys |
|
|
|
|
##### Ports
|
|
Set the following ports with the -p tag.
|
|
|
|
| Container Port | Recommended outside port | Protocol | Description |
|
|
| -------------- | ------------------------ | -------- | ------------------------------------- |
|
|
| 22 | 2222 | TCP | ssh port for accessing the git server |
|
|
|
|
##### Rebuild
|
|
|
|
```
|
|
#!/bin/sh
|
|
docker stop git-server
|
|
docker rm git-server
|
|
docker pull jkarlos/git-server-docker:latest
|
|
docker run --name git-server \
|
|
--restart unless-stopped \
|
|
-p 2222:22 \
|
|
-v git-server_repos:/git-server/repos \
|
|
-v git-server_keys:/git-server/keys \
|
|
-d jkarlos/git-server-docker
|
|
```
|
|
|
|
#### Gitea (Webinterface)
|
|
|
|
The official container and documentation was made by [gitea](https://hub.docker.com/gitea/gitea).
|
|
This docker-rebuild is made up by a `docker-compose.yml` file.
|
|
The services in this files are explained seperately.
|
|
|
|
##### 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
|
|
|
|
```
|
|
#!/bin/sh
|
|
docker-compose down
|
|
docker-compose up -d
|
|
```
|
|
|
|
##### Docker-Compose.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
|
|
```
|