Back to Documentation

Upgrade Instructions

Safely upgrade your Piler installation to a newer version with complete step-by-step instructions.

Critical: Backup Before Upgrading

It's strongly recommended to backup your configs including piler.key, piler.conf, piler.pem, sphinx.conf and config-site.php before the upgrade.

Essential files to backup:

piler.keypiler.confpiler.pemsphinx.confconfig-site.php

When upgrading across multiple versions, apply all intermediate database scripts sequentially.

Version-Specific Upgrade Paths

Follow the instructions for your version upgrade path

0.1.18 → 0.1.19

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.18-vs-0.19.sql

Add the following variables to config.php:

define('TABLE_GROUP', 'group');
define('TABLE_GROUP_USER', 'group_user');
define('TABLE_GROUP_EMAIL', 'group_email');

0.1.19 → 0.1.20

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.19-vs-0.20.sql

0.1.20 → 0.1.21 ⚠️ Breaking Changes

⚠️ Important Warning

Backup the 'tag' and 'note' tables, then drop them. The new version has a modified schema.

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.20-vs-0.21.sql

Add the following to config.php:

define('TABLE_FOLDER', 'folder');
define('TABLE_FOLDER_RULE', 'folder_rule');
define('TABLE_FOLDER_MESSAGE', 'folder_message');
define('TABLE_FOLDER_EXTRA', 'folder_extra');
define('TABLE_NOTE', 'note');
define('ICON_FOLDER', 'images/folder.png');
define('ICON_EMPTY_FOLDER', 'images/folder-open.png');

0.1.21 → 0.1.22

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.21-vs-0.22.sql

Rename in config.php:

LANG → DEFAULT_LANG

Add the following to config.php:

$config['MEMCACHED_ENABLED'] = 0;
$config['MEMCACHED_PREFIX'] = 'piler';
$config['MEMCACHED_TTL'] = 86400;
$config['TIMEZONE'] = 'Europe/Budapest';
$config['DB_CHARSET'] = 'utf8';
$config['ENABLE_DELETE'] = 1;

Update search indices:

searchd stop
indexer --config /etc/piler/sphinx.conf note1
searchd start

Remove folder related lines from sphinx.conf

0.1.22 → 0.1.23

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.1.22-vs-0.1.23.sql

Restructure the store directory:

From: $localstatedir/piler/store/

To: $localstatedir/piler/store/<SERVER_ID>

0.1.23 → 0.1.24

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.1.23-vs-0.1.24.sql

Update sphinx indexing scheme and cron jobs to new delta-delta structure.

0.1.24 → 1.1.0

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-0.1.24-vs-1.1.0.sql

1.1.1 → 1.2.0

Execute the following sql script on the piler database:

mysql -u piler -p piler < util/db-upgrade-1.1.0-vs-1.2.0.sql

Note: All piler related configs moved to ${sysconfdir}/piler directory.

1.2.0 → 1.3.0

No additional steps required.

1.3.0 → 1.3.5

Optional: Upgrade MySQL encoding from utf8 to utf8mb4 for complete UTF-8 support (including emojis).

Alternatively, maintain current settings with specific charset configurations in three configuration files and execute ALTER TABLE statements.

1.4.5 → 1.4.6 (Docker)

Update file ownership:

chown -R 1001:1001 <volume_folder>

Add audit1 index to manticore.conf

Update PHP version to 8.3 in nginx configuration

1.4.6 → 1.4.7 (Docker)

Note: Manticore index is moved to a separate container.

Add manticore service to docker-compose.yaml

Adjust piler service with environment variable:

MANTICORE_HOSTNAME=manticore

Update ownership:

chown -R 999:999 <manticore_volume>

Configure hostname settings in piler.conf and config-site.php

Web UI Upgrade

Simple and straightforward web interface updates

Simple UI Updates

Upgrading the web interface is straightforward: simply overwrite the webui files.

✓ Your local configurations in config-site.php remain untouched and will be preserved.