diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index da9b7975844098679ed3d786398f292601bb7c77..8c31a19f0b2002bc961fa38849e656f5b9ef5d56 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -266,10 +266,13 @@ docker_release:
     - (if [ "$CI_COMMIT_REF_NAME" == "develop" ] || [ "$CI_COMMIT_REF_NAME" == "master" ]; then ./scripts/set-api-build-metadata.sh $(echo $CI_COMMIT_SHA | cut -c 1-8); fi);
   script:
     - if [[ ! -z "$CI_COMMIT_TAG" ]]; then (./docs/get-releases-json.py | scripts/is-docker-latest.py $CI_COMMIT_TAG -) && export DOCKER_LATEST_TAG="-t $IMAGE_LATEST" || export DOCKER_LATEST_TAG=; fi
+    - if [[ "$CI_COMMIT_REF_NAME" =~ ^[0-9]+(.[0-9]+){1,2}$ ]]; then export stable=1 && export major="$(echo $CI_COMMIT_REF_NAME | cut -d '.' -f 1)" && export minor="$(echo $CI_COMMIT_REF_NAME | cut -d '.' -f 1,2)"; fi
     - cd api
     - docker build -t $IMAGE $DOCKER_LATEST_TAG .
     - docker push $IMAGE
     - if [[ ! -z "$DOCKER_LATEST_TAG" ]]; then docker push $IMAGE_LATEST; fi
+    - if [[ $stable == 1 ]]; then docker tag $IMAGE $IMAGE_NAME:major && docker push $IMAGE_NAME:major; fi
+    - if [[ $stable == 1 ]]; then docker tag $IMAGE $IMAGE_NAME:minor && docker push $IMAGE_NAME:minor; fi
   only:
     - develop@funkwhale/funkwhale
     - master@funkwhale/funkwhale