fix(docker): Make conduit own default db path

When a user mounts a volume into the default volume path,
it uses the permissions and ownership from the host volume.
In most cases, this is 1000:1000, which it also uses on the inside.

If you don't mount a volume though (e.g., for testing), conduit cries:
“The database couldn't be loaded or created.”

This fix chowns the default db dir to remedy this.
This commit is contained in:
Jonas Zohren 2022-02-22 15:22:53 +00:00
parent 237645e975
commit a5bb6786c8
No known key found for this signature in database
GPG key ID: FE3ED5D90A175463

View file

@ -48,8 +48,6 @@ LABEL org.opencontainers.image.created=${CREATED} \
org.opencontainers.image.documentation="https://gitlab.com/famedly/conduit" \ org.opencontainers.image.documentation="https://gitlab.com/famedly/conduit" \
org.opencontainers.image.ref.name="" org.opencontainers.image.ref.name=""
# Created directory for the database and media files
RUN mkdir -p ${DEFAULT_DB_PATH}
# Test if Conduit is still alive, uses the same endpoint as Element # Test if Conduit is still alive, uses the same endpoint as Element
COPY ./docker/healthcheck.sh /srv/conduit/healthcheck.sh COPY ./docker/healthcheck.sh /srv/conduit/healthcheck.sh
@ -67,7 +65,9 @@ RUN set -x ; \
# Change ownership of Conduit files to conduit user and group # Change ownership of Conduit files to conduit user and group
RUN chown -cR conduit:conduit /srv/conduit && \ RUN chown -cR conduit:conduit /srv/conduit && \
chmod +x /srv/conduit/healthcheck.sh chmod +x /srv/conduit/healthcheck.sh && \
mkdir -p ${DEFAULT_DB_PATH} && \
chown -cR conduit:conduit ${DEFAULT_DB_PATH}
# Change user to conduit # Change user to conduit
USER conduit USER conduit