Add README.md
This commit is contained in:
parent
9bd0bf61cb
commit
dd1e74230d
141
README.md
Normal file
141
README.md
Normal file
@ -0,0 +1,141 @@
|
||||
# Esempio di docker-compose.yml <a name="docker-compose"></a>
|
||||
```yaml
|
||||
services:
|
||||
gitea-db:
|
||||
container_name: gitea-db
|
||||
image: mcr.microsoft.com/mssql/server:2019-latest
|
||||
environment:
|
||||
SA_PASSWORD: System128!
|
||||
ACCEPT_EULA: Y
|
||||
MSSQL_MEMORY_LIMIT_MB: 2048
|
||||
TZ: Europe/Rome
|
||||
volumes:
|
||||
- gitea-db-vol:/var/opt/mssql
|
||||
networks:
|
||||
- gitea-net
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 41433:1433
|
||||
|
||||
gitea:
|
||||
image: docker.gitea.com/gitea:1.23.5
|
||||
container_name: gitea
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE=mssql
|
||||
- GITEA__database__HOST=gitea-db
|
||||
- GITEA__database__NAME=Gitea
|
||||
- GITEA__database__USER=sa
|
||||
- GITEA__database__PASSWD=System128!
|
||||
restart: always
|
||||
networks:
|
||||
- gitea-net
|
||||
volumes:
|
||||
- gitea-data-vol:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- 3000:3000
|
||||
- 3022:22
|
||||
depends_on:
|
||||
- gitea-db
|
||||
|
||||
volumes:
|
||||
gitea-db-vol:
|
||||
name: gitea-db-vol
|
||||
gitea-data-vol:
|
||||
name: gitea-data-vol
|
||||
|
||||
networks:
|
||||
gitea-net:
|
||||
name: gitea-net
|
||||
```
|
||||
|
||||
# Backup Gitea hostato su Docker
|
||||
|
||||
1. Creare una cartella temporanea `tmp` all'interno del volume docker `gitea-data-vol`
|
||||
|
||||
```bash
|
||||
cd /var/lib/docker/volumes/gitea-data-vol/_data/
|
||||
mkdir tmp
|
||||
chmod 777 tmp
|
||||
```
|
||||
|
||||
2. Lanciare il comando `dump` all'interno del container `gitea`
|
||||
|
||||
```bash
|
||||
docker exec -u git -it -w /data/tmp gitea bash -c '/usr/local/bin/gitea dump -c /data/gitea/conf/app.ini'
|
||||
```
|
||||
|
||||
Questo produrrà un file di backup `gitea-dump-xxxxxxxxxx.zip` nella cartella `tmp` appena creata (`/data/tmp` del container, ovvero `/var/lib/docker/volumes/gitea-data-vol/_data/tmp` del host).
|
||||
|
||||
**Spostare questo file su un server sicuro.**
|
||||
|
||||
Sarà necessario anche un backup del database Gitea.
|
||||
|
||||
# Restore Gitea hostato su Docker
|
||||
|
||||
Questa procedura serve a ripristinare la configurazione e le repository Gitea partendo da un backup nel formato `gitea-dump-xxxxxxxxxx.zip`
|
||||
|
||||
Si prende per scontato che vi sia già in esecuzione uno stack simile a quello prodotto dal [docker-compose.yml](#docker-compose)
|
||||
|
||||
1. Creare una cartella temporanea `tmp` all'interno del volume docker `gitea-data-vol` e spostarvi il file `gitea-dump-xxxxxxxxxx.zip`
|
||||
|
||||
```bash
|
||||
cd /var/lib/docker/volumes/gitea-data-vol/_data/
|
||||
mkdir tmp
|
||||
mv /path/to/gitea-dump-xxxxxxxxxx.zip tmp/
|
||||
chmod 777 -R tmp
|
||||
```
|
||||
|
||||
2. Aprire la console all'interno del container Gitea
|
||||
|
||||
```bash
|
||||
docker exec --user git -it gitea bash
|
||||
```
|
||||
|
||||
3. Scompattare l'archivio `gitea-dump-xxxxxxxxxx.zip`
|
||||
|
||||
```bash
|
||||
cd /data/tmp
|
||||
unzip gitea-dump-xxxxxxxxxx.zip -d dump
|
||||
```
|
||||
|
||||
4. Sovrascrivere i file dell'installazione provvisoria con quelli del backup
|
||||
|
||||
```bash
|
||||
#mv dump/data/* /data/gitea/
|
||||
cp -r dump/data/* /data/gitea/
|
||||
|
||||
#mv dump/repos/* /data/git/repositories/
|
||||
cp -r dump/repos/* /data/git/repositories/
|
||||
|
||||
chown -R git:git /data
|
||||
/usr/local/bin/gitea -c '/data/gitea/conf/app.ini' admin regenerate hooks
|
||||
```
|
||||
|
||||
5. Impostare l'utente `git` come proprietario della cartella `/data`
|
||||
|
||||
```bash
|
||||
chown -R git:git /data
|
||||
```
|
||||
|
||||
6. (facoltativo) Ripristinare gli Hook
|
||||
|
||||
```bash
|
||||
/usr/local/bin/gitea -c '/data/gitea/conf/app.ini' admin regenerate hooks
|
||||
```
|
||||
|
||||
> **NOTA:** se aprendo una repository dalla GUI di Gitea si ottiene l'errore<br>
|
||||
> `The Git data underlying this repository cannot be read. Contact the administrator of this instance or delete this repository.`<br>
|
||||
> è possibile che le repository nella cartella `/data/git/repositories/`, ovvero `/var/lib/docker/volumes/gitea-data-vol/_data/git/repositories/`, siano nella posizione sbagliata, ad esempio al di fuori della cartella dell'organizzazione.<br>
|
||||
>> **ESEMPIO 1**<br>
|
||||
>> Organizzazione: Logika<br>
|
||||
>> Repository: ModalitaAssistenza<br>
|
||||
>> Percorso: /data/git/repositories/Logika/ModalitaAssistenza.git
|
||||
>
|
||||
>> **ESEMPIO 2**<br>
|
||||
>> Utente: alberto.morettin<br>
|
||||
>> Repository: TempRepo<br>
|
||||
>> Percorso: /data/git/repositories/alberto.morettin/TempRepo.git
|
||||
Loading…
x
Reference in New Issue
Block a user