Just spun up PhotoStructure server and I’m getting the error:
Failed to set up /ps/tmp/local-db/models/db.sqlite3: SqliteError: code SQLITE_IOERR_SHMMAP: disk I/O error¹⁶
Here’s my docker-compose.yml:
version: "3.7"
services:
photostructure:
container_name: photostructure
image: photostructure/server
restart: on-failure
stop_grace_period: 2m
user: 1000:1000 # < If you need a different user id, see below
volumes:
# This is where your PhotoStructure Library will be stored.
# It must be readable, writable, and have sufficient free space.
# If it is a remote volume, uncomment the PS_FORCE_LOCAL_DB_REPLICA
# environment line below.
- type: bind
source: "/mnt/storage/DockerContainerStorage/photostructure/library" # < CHANGE THIS LINE
target: /ps/library
# This must be fast, local disk with many gigabytes free.
# PhotoStructure will use this directory for file caching
# and for storing a temporary database replica when your
# library is on a remote volume.
- type: bind
source: "/mnt/storage/DockerContainerStorage/photostructure/temp"
target: /ps/tmp
# This directory stores your "system settings"
- type: bind
source: "/mnt/storage/DockerContainerStorage/photostructure/config"
target: /ps/config
# This directory stores PhotoStructure logfiles.
- type: bind
source: "/mnt/storage/DockerContainerStorage/photostructure/logs"
target: /ps/logs
# Example additional directories to import into your library.
# Add as many as you'd like, or remove one or both of these examples.
# Set the target to /media/... or /mnt/...
# (the name doesn't matter, as long as it is unique)
- type: bind
source: "/mnt/storage/photos/googlephotos05092021" # < CHANGE THIS LINE
target: /var/googlephotos05092021
ports:
- 1787:1787/tcp
environment:
# PhotoStructure has _tons_ of settings. See
# <https://photostructure.com/faq/environment-variables/>
# This tells PhotoStructure to only log errors, which is the default:
- "PS_LOG_LEVEL=error"
labels:
# See https://containrrr.dev/watchtower/container-selection/
- "com.centurylinklabs.watchtower.enable=true"
networks:
- caddy_net
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Check for updates every couple hours: (3h * 60m * 60s)
command: --interval 10800
environment:
- "WATCHTOWER_LABEL_ENABLE=true"
networks:
caddy_net:
external: true
Running ls -l
on /mnt/storage/DockerComposeStorage/photostructure/temp/local-db-models
returns:
-rw-r--r-- 1 localuser localuser 16384 May 11 11:21 db.sqlite3
-rw-r--r-- 1 localuser localuser 32768 May 11 11:21 db.sqlite3-shm
-rw-r--r-- 1 localuser localuser 0 May 11 11:21 db.sqlite3-wal
where localuser
is 1000:1000
I’ve also run sudo chown -R 1000:1000
on /mnt/storage/DockerContainerStorage/photostructure
, but that did not solve the issue
Any advice?