MasterpieceDockerCompose/gitea
miracle091 b150eef2b1
Un paio di fix lessicali
2022-02-21 09:44:18 +01:00
..
.env micro fix per gitea 2021-08-19 15:55:35 +02:00
README.md Un paio di fix lessicali 2022-02-21 09:44:18 +01:00
docker-compose.yml Aggiornato gitea a 1.16 2022-02-18 16:38:07 +01:00

README.md

Gitea

Descrizione

Sito ufficiale Sorgente Docker Hub Docs Demo 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

docker network create custom-bridge

oppure usando podman

podman network create custom-bridge

docker-compose

docker-compose.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

# 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

Aggiornamento

Automatico

Usando watchtower il container si aggiorna automaticamente

Manuale

  1. docker-compose up -d
  2. docker image prune

Backup e ripristino

Backup

Usate borg per fare i backup giornalieri dell'intera cartella gitea

Ripristino

Per una maggiore spiegazione sui passaggi da fare, controllate qua

  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:


Licenza: CC BY-SA 4.0