1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 14:00:56 +01:00

Document that hosted repositories should be backed up

Summary: Fixes T8950.

Test Plan: Reading.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T8950

Differential Revision: https://secure.phabricator.com/D14952
This commit is contained in:
epriestley 2016-01-05 13:42:16 -08:00
parent 94d79c11a9
commit b471ebe987

View file

@ -3,7 +3,9 @@
Advice for backing up Phabricator, or migrating from one machine to another.
= Overview =
Overview
========
Phabricator does not currently have a comprehensive backup system, but creating
backups is not particularly difficult and Phabricator does have a few basic
@ -11,6 +13,7 @@ tools which can help you set up a reasonable process. In particular, the things
which needs to be backed up are:
- the MySQL databases;
- hosted repositories;
- uploaded files; and
- your Phabricator configuration files.
@ -21,7 +24,9 @@ same steps you would if you were creating a backup and then restoring it, you
will just backup the old machine and then restore the data onto the new
machine.
= Backup: MySQL Databases =
Backup: MySQL Databases
=======================
Most of Phabricator's data is stored in MySQL, and it's the most important thing
to back up. You can run `bin/storage dump` to get a dump of all the MySQL
@ -36,14 +41,35 @@ gzip prior to storage. For example:
Then store the backup somewhere safe, like in a box buried under an old tree
stump. No one will ever think to look for it there.
= Restore: MySQL =
Restore: MySQL
==============
To restore a MySQL dump, just pipe it to `mysql` on a clean host. (You may need
to uncompress it first, if you compressed it prior to storage.)
$ gunzip -c backup.sql.gz | mysql
= Backup: Uploaded Files =
Backup: Hosted Repositories
===========================
If you host repositories in Phabricator, you should back them up. You can use
`bin/repository list-paths` to show the local paths on disk for each
repository. To back them up, copy them elsewhere.
You can also just clone them and keep the clones up to date, or use
{nav Add Mirror} to have the mirror somewhere automatically.
Restore: Hosted Repositories
============================
To restore hosted repositories, copy them back into the correct locations
as shown by `bin/repository list-paths`.
Backup: Uploaded Files
======================
Uploaded files may be stored in several different locations. The backup
procedure depends on where files are stored:
@ -65,11 +91,15 @@ setting).
For more information about configuring how files are stored, see
@{article:Configuring File Storage}.
= Restore: Uploaded Files =
Restore: Uploaded Files
=======================
To restore a backup of local disk storage, just copy the backup into place.
= Backup: Configuration Files =
Backup: Configuration Files
===========================
You should also backup your configuration files, and any scripts you use to
deploy or administrate Phabricator (like a customized upgrade script). The best
@ -85,12 +115,15 @@ creates:
This file contains all of the configuration settings that have been adjusted
by using `bin/config set <key> <value>`.
= Restore: Configuration Files =
Restore: Configuration Files
============================
To restore configuration files, just copy them into the right locations. Copy
your backup of `local.json` to `phabricator/conf/local/local.json`.
= Security =
Security
========
MySQL dumps have no builtin encryption and most data in Phabricator is stored in
a raw, accessible form, so giving a user access to backups is a lot like giving
@ -105,7 +138,9 @@ Some of this information is durable, so disclosure of even a very old backup may
present a risk. If you restrict access to the Phabricator host or database, you
should also restrict access to the backups.
= Next Steps =
Next Steps
==========
Continue by: