MasterpieceDockerCompose/gitea/README.md

170 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Gitea
<div align="center">
<img src="https://gitea.io/images/screenshot.png" />
</div>
## Descrizione
[![Sito ufficiale](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=firefoxbrowser&style=flat&label=&message=Homepage)](https://gitea.io/) [![Sorgente](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=github&style=flat&label=&message=Sorgente)](https://github.com/go-gitea/gitea) [![Docker Hub](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=docker&style=flat&label=&message=Docker Hub)](https://hub.docker.com/r/gitea/gitea) [![Docs](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=readthedocs&style=flat&label=&message=Docs)](https://docs.gitea.io/) [![Demo](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=jekyll&style=flat&label=&message=Demo)](https://try.gitea.io/) ![RPI Friendly](<https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=raspberrypi&style=flat&label=&message=RPi Friendly>)
Gitea è un server per repository git, veloce, semplice e facile da configurare:
- Interfaccia web multilingua e configurabile
- Un'alternativa open-source a GitHub/GitLab/etc
- Supporta i maggiori database (SQLite, MySQL/MariaDB e PostgreSQL)
## Struttura file e cartelle
```
/home/
└── docker/
└── gitea/
├── data/
├── db/
├── .env
└── docker-compose.yml
```
- `data/` - cartella dove i dati di gitea vengono salvati
- `db/` - cartella dove i dati del database vengono salvati
- `.env` - file contenenti le variabili environment per il docker-compose
- `docker-compose.yml` - file usato per creare il container
**N.B. Tutti i file e le cartelle devono essere creati a mano**
## Esempi
Semplice esempio per iniziare ad usare subito il container
### network
Con docker
```bash
docker network create custom-bridge
```
oppure usando podman
```bash
podman network create custom-bridge
```
### docker-compose
`docker-compose.yml`
```yml
version: "3.8"
services:
db:
container_name: gitea-db
image: postgres:13-alpine
security_opt:
- no-new-privileges:true
networks:
- custom-bridge
restart: always
env_file: .env
volumes:
- ${POSTGRES_DATA:-/home/docker/gitea/db}:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro
healthcheck:
test: ["CMD", "pg_isready", "-U", "gitea"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 10s
gitea:
container_name: gitea
image: gitea/gitea:1.16
networks:
- custom-bridge
restart: unless-stopped
depends_on:
- db
ports:
- ${GITEA_WEBUI_PORT:-3000}:3000
- ${GITEA_SSH_PORT:-22}:22
env_file: .env
volumes:
- ${POSTGRES_DATA:-/home/docker/gitea/data}:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
healthcheck: # se modificate la porta dell'interfaccia web, ricordatevi di cambiarla anche qua sotto
test: ["CMD", "curl", "-Ssf", http://localhost:3000"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 1m
networks:
custom-bridge:
name: custom-bridge
driver: bridge
```
`.env`
```bash
# Generale
POSTGRES_DATA=/home/docker/gitea/db
GITEA_DATA=/home/docker/gitea/data
GITEA_WEBUI_PORT=3000
GITEA_SSH_PORT=22
# Postgres
POSTGRES_DB=gitea
POSTGRES_USER=gitea
POSTGRES_PASSWORD=gitea
# Gitea
GITEA__database__DB_TYPE=postgres
GITEA__database__HOST=db:5432
GITEA__database__NAME=gitea
GITEA__database__USER=gitea
GITEA__database__PASSWD=gitea
```
## Reverse proxy
Vedi [Todo](#Todo)
## Aggiornamento
### Automatico
Usando [watchtower](../watchtower) il container si aggiorna automaticamente
### Manuale
1. `docker-compose up -d`
2. `docker image prune`
## Backup e ripristino
### Backup
Usate [borg](../borg) per fare i backup giornalieri dell'intera cartella `gitea`
### Ripristino
Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg#user-content-controllare-la-cartella-dei-backup)
1. fermare il container con `docker-compose down`
2. cancellare l'intera cartella `gitea`
3. dal backup copiare la cartella `gitea`
4. far ripartire il container con `docker-compose up -d`
## Todo
Implementare:
- reverse proxy: **[caddy](https://caddyserver.com/)** o **[traefik](https://doc.traefik.io/traefik/)**
---
Licenza: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)