woodpecker/docs/docs/30-administration/30-database.md

68 lines
2.5 KiB
Markdown
Raw Normal View History

2019-11-13 18:50:54 +00:00
# Databases
The default database engine of Woodpecker is an embedded SQLite database which requires zero installation or configuration. But you can replace it with a MySQL/MariaDB or Postgres database.
2022-10-15 19:25:07 +00:00
## Configure SQLite
2022-10-15 19:25:07 +00:00
By default Woodpecker uses a SQLite database stored under `/var/lib/woodpecker/`. You can mount a [data volume](https://docs.docker.com/storage/volumes/#create-and-manage-volumes) to persist the SQLite database.
```diff
# docker-compose.yml
version: '3'
services:
woodpecker-server:
[...]
+ volumes:
+ - woodpecker-server-data:/var/lib/woodpecker/
```
2019-11-13 18:50:54 +00:00
## Configure MySQL/MariaDB
2019-11-13 18:50:54 +00:00
2022-10-15 19:25:07 +00:00
The below example demonstrates MySQL database configuration. See the official driver [documentation](https://github.com/go-sql-driver/mysql#dsn-data-source-name) for configuration options and examples.
2019-11-13 18:50:54 +00:00
```diff
# docker-compose.yml
2019-11-13 18:50:54 +00:00
version: '3'
services:
woodpecker-server:
[...]
2019-11-13 18:50:54 +00:00
environment:
+ - WOODPECKER_DATABASE_DRIVER=mysql
+ - WOODPECKER_DATABASE_DATASOURCE=root:password@tcp(1.2.3.4:3306)/woodpecker?parseTime=true
2019-11-13 18:50:54 +00:00
```
## Configure Postgres
2022-10-15 19:25:07 +00:00
The below example demonstrates Postgres database configuration. See the official driver [documentation](https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING) for configuration options and examples.
Please use Postgres versions equal or higher than **11**.
2019-11-13 18:50:54 +00:00
```diff
# docker-compose.yml
2019-11-13 18:50:54 +00:00
version: '3'
services:
woodpecker-server:
[...]
2019-11-13 18:50:54 +00:00
environment:
+ - WOODPECKER_DATABASE_DRIVER=postgres
+ - WOODPECKER_DATABASE_DATASOURCE=postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable
2019-11-13 18:50:54 +00:00
```
## Database Creation
2022-10-15 19:25:07 +00:00
Woodpecker does not create your database automatically. If you are using the MySQL or Postgres driver you will need to manually create your database using `CREATE DATABASE`
2019-11-13 18:50:54 +00:00
## Database Migration
Woodpecker automatically handles database migration, including the initial creation of tables and indexes. New versions of Woodpecker will automatically upgrade the database unless otherwise specified in the release notes.
## Database Backups
Woodpecker does not perform database backups. This should be handled by separate third party tools provided by your database vendor of choice.
## Database Archiving
Woodpecker does not perform data archival; it considered out-of-scope for the project. Woodpecker is rather conservative with the amount of data it stores, however, you should expect the database logs to grow the size of your database considerably.