kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
4.1 KiB
96 lines
4.1 KiB
# Backup Guide
|
|
|
|
We advice to backup your OpenProject installation regularly — especially before upgrading to a newer version.
|
|
|
|
## Backup the Database
|
|
|
|
###OpenProject Version 3.0.15 and newer
|
|
|
|
Execute the following command in a shell in the directory where OpenProject is installed:
|
|
|
|
```bash
|
|
RAILS_ENV=production bundle exec rake backup:database:create
|
|
```
|
|
|
|
The command will create dump of your database which can be found at `OPENPROJECT_DIRECTORY/backup/openproject-production-db-<DATE>.backup`.
|
|
|
|
Optionally, you can specify the path of the backup file. Therefore you have to replace the `/path/to/file.backup` with the path of your choice
|
|
|
|
```bash
|
|
RAILS_ENV=production bundle exec rake backup:database:create[/path/to/backup/file.backup]
|
|
```
|
|
*Note:* You can restore any database backup with the following command. Be aware that you have to replace the `/path/to/backup/file.backup` path with your actual backup path.
|
|
|
|
```bash
|
|
RAILS_ENV=production bundle exec rake backup:database:restore[/path/to/backup/file.backup]
|
|
```
|
|
|
|
If your database dump is from an old version of OpenProject, also run the following command after the restore:
|
|
|
|
```bash
|
|
RAILS_ENV=production bundle exec rake db:migrate
|
|
```
|
|
|
|
to migrate your data to the database structure of your installed OpenProject version.
|
|
|
|
### OpenProject prior Version 3.0.15
|
|
|
|
Determine which Database you are using. You can find the relevant information in the `OPENPROJECT_DIRECTORY/config/database.yml` file. It looks similar to this:
|
|
|
|
```yaml
|
|
production:
|
|
adapter: postgresql
|
|
database: openproject-production
|
|
host: localhost
|
|
username: my_postgres_user
|
|
password: my_secret_password
|
|
encoding: utf8
|
|
min_messages: warning
|
|
```
|
|
|
|
Locate the database entry for your production database.
|
|
|
|
#### PostgreSQL
|
|
You can backup your PostgreSQL database with the `pg_dump` command and restore backups with the `pg_restore` command. (There might be other (and more convenient) tools, like pgAdmin, depending on your specific setup.)
|
|
|
|
An example backup command with `pg_dump` looks like this:
|
|
|
|
```bash
|
|
pg_dump --clean --format=custom --no-owner --file=/path/to/your/backup/file.backup --username=POSTGRESQL_USER --host=HOST DATABASE_NAME
|
|
```
|
|
|
|
Please, replace the path to your backup file, the username, host, and database name with your actual data. You can find all relevant information in the database.yml file.
|
|
|
|
Consult the man page of `pg_dump` for more advanced parameters, if necessary.
|
|
|
|
The database dump can be restored similarly with `pg_restore`:
|
|
|
|
```bash
|
|
pg_restore --clean --no-owner --single-transaction
|
|
--dbname=DATABASE_NAME --host=HOST --username=POSTGRESQL_USER
|
|
/path/to/your/backup/file.backup
|
|
```
|
|
|
|
Consult the man page of `pg_restore` for more advanced parameters, if necessary.
|
|
|
|
## Backup your Configuration Files
|
|
Please make sure to create a backup copy of at least the following configuration files (all listed as a relative path from the OpenProject installation directory):
|
|
|
|
`Gemfile.local` (if present)
|
|
`Gemfile.plugins` (if present)
|
|
`config/database.yml` (if present)
|
|
`config/configuration.yml` (if present)
|
|
`config/settings.yml` (if present)
|
|
|
|
Some OpenProject options can be given as environment variables. If you have configured environment variables for OpenProject, consider to backup them too.
|
|
|
|
## Backup Files Uploaded by Users (attachments)
|
|
Files uploaded by users (e.g. when adding an attachment to a WorkPackage) are stored on the hard disk. The directory where those files are stored can be configured in the `config/configuration.yml` via the `attachments_storage_path` setting (or an
|
|
appropriate environment variable).
|
|
|
|
If you have not changed the `attachment_storage_path` setting, all files will be uploaded to the files directory (relative to your OpenProject installation).
|
|
|
|
Make sure to backup this directory.
|
|
|
|
## Backup Repositories
|
|
You can manage Repositories with OpenProject — so one or more of your projects may have a repository. Please make sure to backup these too. The path to a project’s repository can be found in the repository settings of the respective project (it can be individually defined for every project). Each of the defined locations has to be backed up.
|
|
|