diff --git a/docker/Dockerfile b/docker/Dockerfile index 669affde3..b1bb5e9df 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -122,9 +122,6 @@ RUN wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL"; \ redis-server --version; \ echo '{"spdxVersion":"SPDX-2.3","SPDXID":"SPDXRef-DOCUMENT","name":"redis-server-sbom","packages":[{"name":"redis-server","versionInfo":"7.2.4","SPDXID":"SPDXRef-Package--redis-server","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:generic/redis-server@7.2.4?os_name=alpine&os_version=3.19"}],"licenseDeclared":"BSD-3-Clause"}]}' > /usr/local/redis.spdx.json -RUN mkdir /redis-data && chown 1000:1000 /redis-data -VOLUME /redis-data - # cleanup additional build dependencies RUN apk del \ gcc \ @@ -157,6 +154,10 @@ COPY --from=production-stage / / RUN addgroup -g 1000 -S romm && adduser -u 1000 -D -S -G romm romm RUN mkdir /romm && chown 1000:1000 /romm -R +# Create data volume for redis +RUN mkdir /redis-data && chown 1000:1000 /redis-data +VOLUME /redis-data + # Expose ports and start EXPOSE 8080 EXPOSE 6379/tcp diff --git a/docker/init_scripts/init b/docker/init_scripts/init index 9db5c9f58..d9cc41b56 100755 --- a/docker/init_scripts/init +++ b/docker/init_scripts/init @@ -63,7 +63,7 @@ start_bin_redis-server () { if [ -f /usr/local/etc/redis/redis.conf ]; then redis-server /usr/local/etc/redis/redis.conf & else - redis-server & + redis-server --dir /redis-data & fi REDIS_PID=$! echo $REDIS_PID > /tmp/redis-server.pid diff --git a/examples/docker-compose.example.yml b/examples/docker-compose.example.yml index fa5980f9b..de8984a2c 100644 --- a/examples/docker-compose.example.yml +++ b/examples/docker-compose.example.yml @@ -21,6 +21,7 @@ services: - ROMM_AUTH_PASSWORD= # default: admin volumes: - romm_resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.) + - romm_redis_data:/redis-data # Cached data for background tasks - /path/to/library:/romm/library # Your game library - /path/to/assets:/romm/assets # Uploaded saves, states, etc. - /path/to/config:/romm/config # [Optional] Path where config.yml is stored