diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a52445c..510ff37 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -122,11 +122,3 @@ forgejo-backup-image-publish:
   stage: image
   script:
     - cd infrastructure/backup && pyb image publish
-
-# This is currently not needed
-#forgejo-federated-image-publish:
-#  <<: *img
-#  <<: *tag_only
-#  stage: image
-#  script:
-#    - cd infrastructure/federated && pyb image publish
\ No newline at end of file
diff --git a/infrastructure/federated/build.py b/infrastructure/federated/build.py
deleted file mode 100644
index 4029b04..0000000
--- a/infrastructure/federated/build.py
+++ /dev/null
@@ -1,55 +0,0 @@
-from os import environ
-from datetime import datetime
-from pybuilder.core import task, init
-from ddadevops import *
-
-name = 'c4k-forgejo'
-MODULE = 'federated'
-PROJECT_ROOT_PATH = '../..'
-version = "4.1.3-dev"
-
-@init
-def initialize(project):
-    image_tag = version
-    if "dev" in image_tag:
-        image_tag += datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
-
-    input = {
-        "name": name,
-        "module": MODULE,
-        "stage": "notused",
-        "project_root_path": PROJECT_ROOT_PATH,
-        "build_types": ["IMAGE"],
-        "mixin_types": [],
-        "image_naming": "NAME_AND_MODULE",
-        "image_tag": f"{image_tag}",
-    }
-
-    project.build_depends_on("ddadevops>=4.7.0")
-
-    build = DevopsImageBuild(project, input)
-    build.initialize_build_dir()
-
-
-@task
-def image(project):
-    build = get_devops_build(project)
-    build.image()
-
-@task
-def drun(project):
-    build = get_devops_build(project)
-    build.drun()
-
-
-@task
-def test(project):
-    build = get_devops_build(project)
-    build.test()
-
-
-@task
-def publish(project):
-    build = get_devops_build(project)
-    build.dockerhub_login()
-    build.dockerhub_publish()
diff --git a/infrastructure/federated/image/Dockerfile b/infrastructure/federated/image/Dockerfile
deleted file mode 100644
index d86e4a8..0000000
--- a/infrastructure/federated/image/Dockerfile
+++ /dev/null
@@ -1,78 +0,0 @@
-#Build stage
-FROM docker.io/library/golang:1.21-alpine3.19 as build-env
-
-ARG GOPROXY
-ENV GOPROXY ${GOPROXY:-direct}
-
-#ARG GITEA_VERSION
-ARG TAGS="sqlite sqlite_unlock_notify"
-ENV TAGS "bindata timetzdata $TAGS"
-ARG CGO_EXTRA_CFLAGS
-
-ENV FORGEJO_GIT_URL "https://codeberg.org/meissa/forgejo.git"
-ENV FORGEJO_BRANCH "forgejo-federated-star"
-
-#Build deps
-RUN apk -U upgrade
-RUN apk cache clean
-RUN apk --no-cache add build-base git nodejs npm
-
-#Setup repo
-RUN git clone --single-branch --branch ${FORGEJO_BRANCH} ${FORGEJO_GIT_URL} ${GOPATH}/src/code.gitea.io/gitea 
-
-WORKDIR ${GOPATH}/src/code.gitea.io/gitea
-
-#Checkout version if set
-RUN make clean-all build
-
-# Begin env-to-ini build
-RUN go build contrib/environment-to-ini/environment-to-ini.go
-
-# Run stage
-FROM docker.io/library/alpine:3.18
-LABEL maintainer="contact@forgejo.org"
-
-EXPOSE 22 3000
-
-RUN apk -U upgrade
-RUN apk cache clean
-RUN apk --no-cache add \
-    bash \
-    ca-certificates \
-    curl \
-    gettext \
-    git \
-    linux-pam \
-    openssh \
-    s6 \
-    sqlite \
-    su-exec \
-    gnupg
-
-RUN addgroup \
-    -S -g 1000 \
-    git && \
-  adduser \
-    -S -H -D \
-    -h /data/git \
-    -s /bin/bash \
-    -u 1000 \
-    -G git \
-    git && \
-  echo "git:*" | chpasswd -e
-
-ENV USER git
-ENV GITEA_CUSTOM /data/gitea
-
-VOLUME ["/data"]
-
-ENTRYPOINT ["/usr/bin/entrypoint"]
-CMD ["/bin/s6-svscan", "/etc/s6"]
-
-COPY --from=build-env /go/src/code.gitea.io/gitea/docker/root /
-COPY --from=build-env /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea
-COPY --from=build-env /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini
-COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh
-RUN chmod 755 /usr/bin/entrypoint /app/gitea/gitea /usr/local/bin/gitea /usr/local/bin/environment-to-ini
-RUN chmod 755 /etc/s6/gitea/* /etc/s6/openssh/* /etc/s6/.s6-svscan/*
-RUN chmod 644 /etc/profile.d/gitea_bash_autocomplete.sh