Gogs, version 0.9.146 and older, can be easily migrated to Gitea.
There are some basic steps to follow. On a Linux system run as the Gogs user:
gogs backup. This creates gogs-backup-[timestamp].zip filegogs back later.1.0.x version. Migrating from gogs to any other version is impossible.gogs/custom/conf/app.ini to gitea/custom/conf/app.ini.templates, public from gogs/custom/ to gitea/custom/.gitignore, label, license, locale, readme ingogs/custom/conf, copy them to gitea/custom/options.gogs/data/ to gitea/data/. It contains issue attachments and avatars.gitea web.Rewrite '.ssh/authorized_keys' file.1.1.4 → 1.2.3 → 1.3.4 → 1.4.2 → etc ) to migrate database.Rewrite all update hook of repositories.Rename gogs-repositories/ to gitea-repositories/
Rename gogs-data/ to gitea-data/
In gitea/custom/conf/app.ini change:
FROM:
[database]
PATH = /home/:USER/gogs/data/:DATABASE.db
[attachment]
PATH = /home/:USER/gogs-data/attachments
[picture]
AVATAR_UPLOAD_PATH = /home/:USER/gogs-data/avatars
[log]
ROOT_PATH = /home/:USER/gogs/log
TO:
[database]
PATH = /home/:USER/gitea/data/:DATABASE.db
[attachment]
PATH = /home/:USER/gitea-data/attachments
[picture]
AVATAR_UPLOAD_PATH = /home/:USER/gitea-data/avatars
[log]
ROOT_PATH = /home/:USER/gitea/log
Verify by starting Gitea with gitea web
gitea versionAfter successful migration from gogs to gitea 1.0.x, it is possible to upgrade gitea to a modern version
in a two steps process.
Upgrade to gitea 1.6.4 first. Download the file matching
the destination platform from the downloads page and replace the binary.
Run Gitea at least once and check that everything works as expected.
Then repeat the procedure, but this time using the [lastest release](https://dl.gitea.io/gitea/{{< version >}}/).
Upgrading from a more recent version of Gogs is also possible, but requires a bit more work.
See #4286.
gitea/custom/templatesUpdate the appropriate file from gitea/contrib
with the right environment variables.
For distros with systemd:
/etc/systemd/system/gitea.servicesudo systemctl enable giteasudo systemctl disable gogsFor distros with SysVinit:
/etc/init.d/giteasudo rc-update add giteasudo rc-update del gogs