Skip to content

Commit

Permalink
secure imaginary with imaginary_key
Browse files Browse the repository at this point in the history
Signed-off-by: Simon L <szaimen@e.mail.de>
  • Loading branch information
szaimen committed Mar 4, 2024
1 parent 6bc2d1d commit fd3f6d9
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 6 deletions.
8 changes: 5 additions & 3 deletions Containers/imaginary/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM golang:1.22.0-alpine3.18 as go

ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138
ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138

RUN set -ex; \
apk add --no-cache \
Expand All @@ -23,17 +23,19 @@ RUN set -ex; \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler
vips-poppler \
bash

COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
COPY --chmod=775 start.sh /start.sh

ENV PORT 9000

USER nobody

# https://github.com/h2non/imaginary#memory-issues
ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["imaginary", "-return-size", "-max-allowed-resolution", "222.2"]
ENTRYPOINT ["/start.sh"]

HEALTHCHECK CMD nc -z localhost "$PORT" || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"
7 changes: 7 additions & 0 deletions Containers/imaginary/start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

if [ -z "$IMAGINARY_SECRET" ]; then
imaginary -return-size -max-allowed-resolution 222.2 "$@"
else
imaginary -return-size -max-allowed-resolution 222.2 -key "$IMAGINARY_SECRET" "$@"
fi
1 change: 1 addition & 0 deletions Containers/nextcloud/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -703,6 +703,7 @@ fi
if [ "$IMAGINARY_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:system:set enabledPreviewProviders 0 --value="OC\\Preview\\Imaginary"
php /var/www/html/occ config:system:set preview_imaginary_url --value="http://$IMAGINARY_HOST:9000"
php /var/www/html/occ config:system:set preview_imaginary_key --value="$IMAGINARY_SECRET"
else
if [ -n "$(php /var/www/html/occ config:system:get preview_imaginary_url)" ]; then
php /var/www/html/occ config:system:delete enabledPreviewProviders 0
Expand Down
12 changes: 9 additions & 3 deletions php/containers.json
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,8 @@
"NEXTCLOUD_PASSWORD",
"TURN_SECRET",
"SIGNALING_SECRET",
"FULLTEXTSEARCH_PASSWORD"
"FULLTEXTSEARCH_PASSWORD",
"IMAGINARY_SECRET"
],
"volumes": [
{
Expand Down Expand Up @@ -220,7 +221,8 @@
"APACHE_PORT=%APACHE_PORT%",
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
"ADDITIONAL_TRUSTED_PROXY=%CADDY_IP_ADDRESS%",
"THIS_IS_AIO=true"
"THIS_IS_AIO=true",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
"stop_grace_period": 600,
"restart": "unless-stopped",
Expand Down Expand Up @@ -646,7 +648,8 @@
],
"internal_port": "9000",
"environment": [
"TZ=%TIMEZONE%"
"TZ=%TIMEZONE%",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
"restart": "unless-stopped",
"cap_add": [
Expand All @@ -664,6 +667,9 @@
"read_only": true,
"tmpfs": [
"/tmp"
],
"secrets": [
"IMAGINARY_SECRET"
]
},
{
Expand Down

0 comments on commit fd3f6d9

Please sign in to comment.