Skip to Content
Parallax
Advanced

Configuration reference

Every environment variable, mount and container option Parallax understands.

Almost everything you can change is in the app, under Settings. This page lists what is set outside the app, in your compose file or docker run command.

Environment variables

VariableDefaultWhat it does
DATA_DIR/app/dataWhere Parallax keeps its database, thumbnails and caches. Leave it at the default and mount your folder there. See Data folder and backups.
LOG_LEVELINFOHow much the container writes to its log. Use DEBUG for more detail when tracking down a problem, or WARNING for less.
PARALLAX_AUTHonSet to off to turn the sign-in off completely. Only do this if something else already protects the page, such as a VPN. Parallax logs a warning at every start while it is off. See Account and sign-in.
NVIDIA_DRIVER_CAPABILITIESset by the compose blockOnly needed with plain docker run and an NVIDIA card. Use all, as described in Hardware acceleration.

There is no variable for the port. Parallax always listens on 7899 inside the container, so change the left side of the ports mapping instead.

Mounts

Path inside the containerRequiredPurpose
/app/dataYesParallax's own data. Must be writable.
/media (or any path you like)YesYour media. Add as many as you need, and make them writable. Library paths you add in the app are paths as the container sees them.
/app/scratchNoA fast disk for work in progress during Compress and Toolbox. See Hardware acceleration.

Container options

  • user: set it to your own user and group (id shows them) so files Parallax creates belong to you. It has to be able to write to /app/data and to your media folders.
  • restart: unless-stopped is what the examples use, so Parallax starts again after a reboot.
  • GPU access: the deploy block for NVIDIA, or devices and group_add for Intel and AMD. See Hardware acceleration.

Checking it is healthy

Parallax answers a GET request on /api/health with a short status, and it is the one route that needs no sign-in. It is a handy target for an uptime monitor or a Docker health check, for example http://your-machine:7899/api/health. Use GET, not HEAD.

Everything else

All other behaviour is controlled from the app and saved in the database, which is why a backup of the data folder brings your whole setup back.

On this page