This guide aims to provide an updated overview on installing PostgreSQL 13 within a QNAP NAS for use as a database inside Davinci Resolve.
The previous guide(s) created by QNAP are somewhat irrelevant as Davinci Resolve, Container Station and QTS/QuTS have since undergone major upgrades.
These original guides are linked below for reference:
In order to create a PostgreSQL Server container for Resolve, we must follow a few steps:
- Create shared folder and structure
- Set up Docker container in Container Station
- Configure database access
- Connect and use database in Resolve
-
Create a folder inside the share to use as the data folder. I've created postgres for ease of identification:
-
Click on Explore, then search for postgres.
-
Click Deploy next to the official postgres Docker Hub container:
-
Select the latest version of Postgres 13. Personally, I've selected 13-alpine as that this uses a leaner image.
-
Set the the name of your docker container, add port
5432
under host then click Advanced -
Under Environments tab, add the POSTGRES_PASSWORD variable and password parameter:
-
Under Storage, Select Bind Mount Host Path
-
Delete the first Volume entry.
-
Under the Host entry, enter/locate the respective Share and folder location created earlier.
-
Set the properties to RW (Read/Write) and add the relevant Container location:
/var/lib/postgresql/data
-
Click Apply, then click Next on the subsequent window.
-
You will see a summary as below. Click Finish when done
Next we need to allow access to the databse from remote hosts.
Edit the pg_hba.conf
and postgresql.conf
files in our postgres folder under the created share.
This can be done by editing the files through the Share folder or by using File Station directly on the NAS (provided Text Editor is installed).
This can also be done via ssh to the NAS share folder or even thru the Docker Container itself.
Edit the respective configuration files accordingly using vi, or even a simple shell commmand such as:
echo "listen_addresses = '*' " >> /var/lib/postgresql/data/postgresql.conf
echo "host all all <IP ADDRESS>/<SUBNET> trust" >> /var/lib/postgresql/data/pg_hba.conf
Make sure to replace IP ADDRESS and SUBNET values with appropriate ones relevant to your network.
To edit using a shell prompt within the container itself, click on the container name, then Exceute.
With /bin/bash
selected, click Execute in the popup.
This will bring the bash prompt for editing
Add the database into Resolve as per the guide:
Great job, it worked for me, with a little modification.
Where says
echo "host all all / trust" >> /var/lib/postgresql/data/pg_hba.conf
It is correct without the "/" separator
echo "host all all trust" >> /var/lib/postgresql/data/pg_hba.conf