Linux

Where Does Woodpecker CI Store Data and Config?

Woodpecker server database file and agent config paths for binary and Docker installs on Linux servers.

Last updated

Woodpecker splits state between a server and stateless agents. The server keeps pipelines, secrets references, and user sessions in a database. Default SQLite installs write to /var/lib/woodpecker/woodpecker.sqlite. Postgres installs move that state to the external database.

Config comes from environment files rather than a single config file. Binary installs commonly use /etc/woodpecker/server.env with an agent file beside it. Docker installs pass the same variables through compose. Check the datasource variable first when the database file is not where you expect.

Where Woodpecker CI stores this, by platform

Linux
/var/lib/woodpecker/woodpecker.sqlite

Default SQLite path for package and binary installs. Created on first server start. Stop the server before copying it for backup to avoid a locked write.

Linux
/etc/woodpecker/server.env

Common convention, exact name varies by distro and guide. Holds WOODPECKER_HOST, database, and agent secret values. Keep this with database backups.

Frequently asked questions

where is the Woodpecker SQLite database file

Check WOODPECKER_DATABASE_DATASOURCE in the server env file. Binary installs default to /var/lib/woodpecker/woodpecker.sqlite. Docker installs keep it in a named volume unless you bind mounted a host folder.

what do i back up for a Woodpecker server move

Copy the SQLite file, the server env file, and any Docker compose files off the host. Postgres installs need a pg_dump instead of the SQLite file. Agents hold no state worth backing up.

Notice an outdated path? Let us know.