Unraid
Frameleaf installs on Unraid with the Docker Compose Manager plugin from Community Applications, using the Compose file from a Frameleaf release.
Before you start
Section titled “Before you start”You need:
- the Docker Compose Manager plugin, installed from the Apps tab
- an Unraid share for your photos, such as
images - a pool for the database, ideally your cache pool on SSD (the
appdatashare is a good home) - a CPU that meets the requirements. There has been a report of the machine learning container failing on servers whose CPU doesn’t support AVX (for example a Dell T610).
This guide was written on Unraid 6.12.10.
Install
Section titled “Install”- Go to Plugins, then Compose.Manager.
- Click Add New Stack. When asked for a label, enter Frameleaf and click OK.
- Click the cog next to Frameleaf and choose Edit Stack.
- Click Compose File. Delete anything already in the editor and paste the whole Frameleaf Compose file.
- Click Save Changes. When you’re asked to edit stack UI labels, leave them blank and click OK.
- Click the cog next to Frameleaf again, choose Edit Stack, then Env File.
- Paste the whole example.env and, before saving, change:
-
UPLOAD_LOCATION: the absolute path of a folder in your photo share. For example, create aframeleaffolder in yourimagesshare; runningpwdinside it in the terminal shows/mnt/user/images/frameleaf, which is the value to use. -
DB_DATA_LOCATION: a folder on your cache pool, such as/mnt/user/appdata/postgresql/data. Create it first:Terminal window mkdir -p /mnt/user/appdata/postgresql/dataIf you leave the default, Postgres tries to write inside the plugin’s folder (
/boot/config/plugins/compose.manager/projects/<stack name>/postgres), has no permission, and restarts forever. -
DB_PASSWORD: your own password, using only letters and numbers. -
TZ: uncomment it and set your time zone.
-
- Click Save Changes, then Compose Up. A window shows the images downloading and the containers starting. This can take several minutes, depending on your internet connection and hardware. When it says Connection Closed, click Done.
- Go to the Docker page. Find
frameleaf_serverand its port mapping. For example, if it reads172.18.0.7:2283/TCP ↔ 192.168.0.25:2283, openhttp://192.168.0.25:2283. - Follow first steps to create the admin account. You’ll need the setup code from the server’s log: click the
frameleaf_servericon and choose Logs.
Use an existing Postgres container
Section titled “Use an existing Postgres container”If you already run a Postgres container you want Frameleaf to use, change the Compose file before step 5:
- Comment out the whole
databaseservice, from thedatabase:line to its last line. - For each service that lists
- databaseunderdepends_on:, comment out that line. Ifdatabaseis the only entry, comment out thedepends_on:line too. - Comment out the database volume.
Then, in the Env File, set these to match your Postgres container:
| Setting | Value |
|---|---|
DB_HOSTNAME |
Your Postgres container’s host name or IP |
DB_USERNAME |
Its user |
DB_PASSWORD |
Its password |
DB_DATABASE_NAME |
The database Frameleaf should use |
DB_PORT |
Its port, if not 5432 |
Frameleaf needs a Postgres server with the vector extensions it uses. See Environment variables and Database.
Group the containers with FolderView
Section titled “Group the containers with FolderView”If you use the FolderView plugin, you can group the Frameleaf containers:
- On the Docker tab, choose New Folder.
- Label it Frameleaf. For the logo, use
https://raw.githubusercontent.com/Frameleaf/frameleaf-app/refs/heads/fork/main/web/static/favicon.png. - Turn on the toggle for each Frameleaf container and click Submit.
The Docker page then shows them under one collapsible Frameleaf folder.
Hardware acceleration
Section titled “Hardware acceleration”Compose Manager works with a single Compose file, so you can’t use the separate hwaccel files with extends. Copy the settings for your hardware into the Compose file instead. See Unraid, Portainer and single Compose files.
Update
Section titled “Update”Containers managed by Compose Manager don’t integrate with Unraid’s own Docker page, so they always show update ready. Ignore that label and update when Frameleaf tells you a new version is out.
- On the Docker tab, scroll to the Compose section.
- Click Update Stack next to Frameleaf. You don’t need to click Compose Down first.
- The window lists each container as it’s pulled and restarted. When it says Connection Closed, click Done.
- Open the Frameleaf web app and check that it reports the version you updated to.