summaryrefslogtreecommitdiffstats
path: root/docs/content/doc/installation/upgrade-from-gogs.en-us.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/doc/installation/upgrade-from-gogs.en-us.md')
-rw-r--r--docs/content/doc/installation/upgrade-from-gogs.en-us.md114
1 files changed, 114 insertions, 0 deletions
diff --git a/docs/content/doc/installation/upgrade-from-gogs.en-us.md b/docs/content/doc/installation/upgrade-from-gogs.en-us.md
new file mode 100644
index 0000000000..7ac83367cc
--- /dev/null
+++ b/docs/content/doc/installation/upgrade-from-gogs.en-us.md
@@ -0,0 +1,114 @@
+---
+date: "2016-12-01T16:00:00+02:00"
+title: "Upgrade from Gogs"
+slug: "upgrade-from-gogs"
+weight: 10
+toc: false
+draft: false
+menu:
+ sidebar:
+ parent: "installation"
+ name: "Upgrade From Gogs"
+ weight: 101
+ identifier: "upgrade-from-gogs"
+---
+
+# Upgrade from Gogs
+
+**Table of Contents**
+
+{{< toc >}}
+
+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:
+
+* Create a Gogs backup with `gogs backup`. This creates `gogs-backup-[timestamp].zip` file
+ containing all important Gogs data. You would need it if you wanted to move to the `gogs` back later.
+* Download the file matching the destination platform from the [downloads page](https://dl.gitea.io/gitea/).
+ It should be `1.0.x` version. Migrating from `gogs` to any other version is impossible.
+* Put the binary at the desired install location.
+* Copy `gogs/custom/conf/app.ini` to `gitea/custom/conf/app.ini`.
+* Copy custom `templates, public` from `gogs/custom/` to `gitea/custom/`.
+* For any other custom folders, such as `gitignore, label, license, locale, readme` in
+ `gogs/custom/conf`, copy them to `gitea/custom/options`.
+* Copy `gogs/data/` to `gitea/data/`. It contains issue attachments and avatars.
+* Verify by starting Gitea with `gitea web`.
+* Enter Gitea admin panel on the UI, run `Rewrite '.ssh/authorized_keys' file`.
+* Launch every major version of the binary ( `1.1.4` → `1.2.3` → `1.3.4` → `1.4.2` → etc ) to migrate database.
+* If custom or config path was changed, run `Rewrite all update hook of repositories`.
+
+## Change gogs specific information
+
+* Rename `gogs-repositories/` to `gitea-repositories/`
+* Rename `gogs-data/` to `gitea-data/`
+* In `gitea/custom/conf/app.ini` change:
+
+ FROM:
+
+ ```ini
+ [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:
+
+ ```ini
+ [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`
+
+## Upgrading to most recent `gitea` version
+
+After 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`](https://dl.gitea.io/gitea/1.6.4/) first. Download the file matching
+the destination platform from the [downloads page](https://dl.gitea.io/gitea/1.6.4/) 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 [latest release](https://dl.gitea.io/gitea/{{< version >}}/).
+
+## Upgrading from a more recent version of Gogs
+
+Upgrading from a more recent version of Gogs (up to `0.11.x`) may also be possible, but will require a bit more work.
+See [#4286](https://github.com/go-gitea/gitea/issues/4286), which includes various Gogs `0.11.x` versions.
+
+Upgrading from Gogs `0.12.x` and above will be increasingly more difficult as the projects diverge further apart in configuration and schema.
+
+## Troubleshooting
+
+* If errors are encountered relating to custom templates in the `gitea/custom/templates`
+ folder, try moving the templates causing the errors away one by one. They may not be
+ compatible with Gitea or an update.
+
+## Add Gitea to startup on Unix
+
+Update the appropriate file from [gitea/contrib](https://github.com/go-gitea/gitea/tree/main/contrib)
+with the right environment variables.
+
+For distros with systemd:
+
+* Copy the updated script to `/etc/systemd/system/gitea.service`
+* Add the service to the startup with: `sudo systemctl enable gitea`
+* Disable old gogs startup script: `sudo systemctl disable gogs`
+
+For distros with SysVinit:
+
+* Copy the updated script to `/etc/init.d/gitea`
+* Add the service to the startup with: `sudo rc-update add gitea`
+* Disable old gogs startup script: `sudo rc-update del gogs`