diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 57294d72b651fdda9313232c6e4e2af1f566065e..3aa4cc56b5d0fc3a3c55d8ee255ad136976f3303 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -120,7 +120,7 @@ test_api:
   interruptible: true
   services:
     - postgres:11
-    - redis:3
+    - redis:5
   stage: test
   image: funkwhale/funkwhale:develop
   cache:
diff --git a/api/Dockerfile b/api/Dockerfile
index 12a84a769d443c8ad898d4dab15b9ce8b7e0f50c..130606b411a921dcd1e9106a6d13aa75915b670c 100644
--- a/api/Dockerfile
+++ b/api/Dockerfile
@@ -19,7 +19,18 @@ RUN \
     libffi-dev         \
     make         \
     zlib-dev           \
-    openldap-dev && \
+    openldap-dev \ 
+    jpeg-dev \
+    zlib-dev \
+    freetype-dev \
+    lcms2-dev \
+    openjpeg-dev \
+    tiff-dev \
+    tk-dev \
+    tcl-dev \
+    harfbuzz-dev \
+    fribidi-dev \
+    && \
     \
     \
     ln -s /usr/bin/python3 /usr/bin/python
@@ -29,10 +40,6 @@ COPY ./requirements/base.txt /requirements/base.txt
 # hack around https://github.com/pypa/pip/issues/6158#issuecomment-456619072
 ENV PIP_DOWNLOAD_CACHE=/noop/
 RUN \
-    echo 'fixing requirements file for alpine' && \
-    sed -i '/Pillow/d' /requirements/base.txt && \
-    \
-    \
     echo 'installing pip requirements' && \
     pip3 install --upgrade pip && \
     pip3 install setuptools wheel && \
diff --git a/api/funkwhale_api/common/serializers.py b/api/funkwhale_api/common/serializers.py
index c754540c924a276f61f7ab9aad5fecb237a5418e..f1f332d1390874347b985c3e64bac5d290db35f8 100644
--- a/api/funkwhale_api/common/serializers.py
+++ b/api/funkwhale_api/common/serializers.py
@@ -219,7 +219,7 @@ class StripExifImageField(serializers.ImageField):
         with io.BytesIO() as output:
             image_without_exif.save(
                 output,
-                format=PIL.Image.EXTENSION[os.path.splitext(file_obj.name)[-1]],
+                format=PIL.Image.EXTENSION[os.path.splitext(file_obj.name)[-1].lower()],
                 quality=100,
             )
             content = output.getvalue()
diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml
index 0a4be1674e53ad615eea002bc4ec77a721815ca3..b98555ef20b030b7c2a4792c0dd2c9b3512faf16 100644
--- a/deploy/docker-compose.yml
+++ b/deploy/docker-compose.yml
@@ -15,7 +15,7 @@ services:
     networks:
       - default
     env_file: .env
-    image: redis:3
+    image: redis:5
     volumes:
       - ./data/redis:/data
 
diff --git a/dev.yml b/dev.yml
index 630ab68eca783998b21d3b212351bb38f76c5a8f..a01b2ee0c497e2551a4b74e88a4ba1f56ff2994f 100644
--- a/dev.yml
+++ b/dev.yml
@@ -33,7 +33,7 @@ services:
     env_file:
       - .env.dev
       - .env
-    image: redis:3.0
+    image: redis:5
     volumes:
       - "./data/${COMPOSE_PROJECT_NAME-node1}/redis:/data"
     networks:
@@ -152,7 +152,7 @@ services:
       - "8001:8001"
 
   api-docs:
-    image: swaggerapi/swagger-ui:v3.21.0
+    image: swaggerapi/swagger-ui:v3.25
     environment:
       - "API_URL=/swagger.yml"
     ports: