---
title: Migration gitea vers docker
description: gitea docker
date: 2020-03-03
yearonly: false
url: migration-gitea-docker.html
---

# Introduction
Lors de la grande migration vers Docker, une étape majeure était l’instance gitea. J’avais déja une installation faite du 'binary' gitea et d’un service Linux.

Gitea fourni une explication 'Backup and Restore' dans la documentation officielle. 

# La marche à suivre
## Première étape : Exporter l’installation actuelle.
> su git

> ./gitea dump -c /etc/gitea/app.ini

Il faut prendre soin de fournir une copie du binary 'gitea' a l’utilisateur git. En le copiant dans son dossier home avec un chown par exemple.
Quitter l’utilisateur avec 'exit', récupérer l’archive obtenue et l’extraire.

## Seconde étape : Docker
Créé et lancer son conteneur gitea. Je le fais à partir d’un docker-compose.yml que l’on trouve dans la documentation officielle, dans la section 'installation With Docker'.

Ne pas oublier d’arrêter le service existant de gitea pour éviter les conflits de ports.

Une fois le conteneur lancé, il faut configurer l’instance et terminer l’installation pour obtenir la configuration nécessaire. En particulier la base de données et les repositories.

## Troisième étape : Migration
Depuis le dossier de l’archive extraite, copier les repositories.

> mv gitea-repositories/* /data/gitea_data/git/repositories/

La destination '/data/gitea_data/' dépend de la configuration des volumes du conteneur.

Ne pas oublier d’attribuer les bons droits aux dossiers copiés.

> chown -R user:user repositories/

'user' étant l’utilisateur attribuer a Docker.

Ensuite faire la migration de la base de données :

> sqlite3 /data/gitea_data/gitea/gitea.db < gitea-db.sql

La commande dépend de la base de données utilisée.



Et c’est tout. Si tout s’est bien passé, on peut se connecter a son instance gitea comme d’habitude et retrouver tous ses repo abandonnés.