Migrating packages

Migrating your distribution to Redict #

This page is intended for maintainers of downstream Redis® packages in large software distributions which are deprecating their Redis® package due to the license change and looking to provide Redict to their users as a replacement.

Build system changes #

The build system is largely unchanged from Redis® 7.2.4. Your build scripts can be updated by simply replacing the source tarball with the appropriate Codeberg release, then replacing “redis” with “redict” throughout.

We are working towards making the build system more useful for downstream needs. We have introduced support for the DESTDIR convention for specifying the installation location of the package, and we have installed the sample config files to $PREFIX/share/redict/ by default when running make install.

Config files #

Unmodified Redis® OSS 7.2.4 configuration files will work out of the box with Redict.

The sample config file in the source distribution has been renamed to redict.conf and references to Redis® have been replaced with Redict throughout this file. The updated configuration file should be used as the default configuration for new Redict installations.

The default behavior of Redict remains unchanged from Redis® OSS – if you distribute a modified configuration downstream you will have to apply your downstream customizations to redict.conf manually.

Service manager #

If you provide service manager scripts (e.g. a systemd unit) downstream, please update it as necessary, renaming it to redict and replacing the daemon with redict-server as appropriate.

What to do with the Redis® installation? #

If you wish to remove Redis® from your distribution and replace it with Redict, it is possible to perform an automated upgrade which does not require any manual intervention from the user.

It is recommended to move redis.conf from its usual location on your distribution to redict.conf. Redict will continue to use the database path as indicated by the dir option in this configuration file, which is typically /var/lib/redis. You should either leave the database here, or, if you wish to move it to /var/lib/redict, update the user’s configuration file accordingly.

If the user has configured your distribution’s service manager to start “redis” automatically, you may wish to configure “redict” to do the same.

Daemon user #

It is not recommended to run Redict as root. If your distribution already has a “redis” user, you are advised to rename this user (and its corresponding group, if applicable) to “redict”, leaving its uid and gid unchanged.

If your system uses shadow for login management, the appropriate post-upgrade commands to rename the “redis” user and group to “redict” would be:

usermod -l redict redis
groupmod -n redict redis

Alternatively, you can create a new redict user and update the user and group ownership over the database as appropriate. It is also possible to have two users, “redis” and “redict”, with the same uid and gid. Use whichever approach best suits your needs.

Important announcements #

If you wish to be advised of new releases and important notices regarding Redict, please subscribe to the redict-announce mailing list.

Security disclosures #

If you wish to receive early disclosure of security issues, please email the redict-security mailing list explaining your requirements.

Redict logo courtesy of @janWilejan, CC-BY-SA-4.0. Download SVG ⤑

Portions of this website courtesy of Salvatore Sanfilippo, CC-BY-SA-4.0.