diff --git a/compute-1-mep/forgejo/docker-compose.yaml b/compute-1-mep/forgejo/docker-compose.yaml
index 5dac365..5ba9c5a 100644
--- a/compute-1-mep/forgejo/docker-compose.yaml
+++ b/compute-1-mep/forgejo/docker-compose.yaml
@@ -9,7 +9,7 @@ volumes:
 
 services:
   server:
-    image: codeberg.org/forgejo/forgejo:8.0.3
+    image: codeberg.org/forgejo/forgejo:9.0.3
     restart: always
     container_name: forgejo
     env_file:
diff --git a/compute-1-mep/renovate/docker-compose.yaml b/compute-1-mep/renovate/docker-compose.yaml
index 664f0d6..5226056 100644
--- a/compute-1-mep/renovate/docker-compose.yaml
+++ b/compute-1-mep/renovate/docker-compose.yaml
@@ -4,7 +4,7 @@ networks:
 
 services:
   renovate:
-    image: ghcr.io/renovatebot/renovate:38.127.0-full
+    image: ghcr.io/renovatebot/renovate:39.84.0-full
     restart: always
     environment:
       - LOG_LEVEL=info
diff --git a/compute-1-mep/wiki/docker-compose.yaml b/compute-1-mep/wiki/docker-compose.yaml
new file mode 100644
index 0000000..d9edbef
--- /dev/null
+++ b/compute-1-mep/wiki/docker-compose.yaml
@@ -0,0 +1,18 @@
+networks:
+  default:
+    enable_ipv6: true
+
+services:
+  server:
+    image: git.gnous.eu/gnouseu/wiki:v3
+    restart: unless-stopped
+    ports:
+      - "3005:80"
+    labels:
+      - "traefik.enable=true"
+      - "traefik.http.routers.wiki.entryPoints=websecure"
+      - "traefik.http.routers.wiki.rule=Host(`wiki.gnous.eu`)"
+      - "traefik.http.routers.wiki.tls=true"
+      - "traefik.http.routers.wiki.tls.certresolver=defaultacme"
+      - "traefik.http.routers.wiki.middlewares=proxyHeader@file,proxyError@file"
+
diff --git a/compute-2-mep/gitlab/docker-compose.yaml b/compute-2-mep/gitlab/docker-compose.yaml
index 9daecb6..0d4492c 100644
--- a/compute-2-mep/gitlab/docker-compose.yaml
+++ b/compute-2-mep/gitlab/docker-compose.yaml
@@ -12,7 +12,7 @@ volumes:
 
 services:
   gitlab:
-    image: gitlab/gitlab-ce:17.5.1-ce.0
+    image: gitlab/gitlab-ce:17.7.0-ce.0
     container_name: gitlab
     restart: always
     hostname: "gitlab.gnous.eu"
diff --git a/compute-2-mep/mastodon/docker-compose.yaml b/compute-2-mep/mastodon/docker-compose.yaml
index 80b9c0d..605b062 100644
--- a/compute-2-mep/mastodon/docker-compose.yaml
+++ b/compute-2-mep/mastodon/docker-compose.yaml
@@ -13,7 +13,7 @@ services:
       - mastodon
 
   web:
-    image: ghcr.io/mastodon/mastodon:v4.3.1
+    image: ghcr.io/mastodon/mastodon:v4.3.2
     restart: always
     env_file:
       - path: .env.production
@@ -44,7 +44,7 @@ services:
       - "ofelia.job-exec.clean-account.command=tootctl accounts cull"
 
   streaming:
-    image: ghcr.io/mastodon/mastodon-streaming:v4.3.1
+    image: ghcr.io/mastodon/mastodon-streaming:v4.3.2
     restart: always
     env_file:
       - path: .env.production
@@ -70,7 +70,7 @@ services:
       - "traefik.http.routers.mastodon-streaming.middlewares=proxyHeader@file,proxyError@file"
 
   sidekiq:
-    image: ghcr.io/mastodon/mastodon:v4.3.1
+    image: ghcr.io/mastodon/mastodon:v4.3.2
     restart: always
     env_file:
       - path: .env.production
diff --git a/compute-2-mep/ofelia/docker-compose.yaml b/compute-2-mep/ofelia/docker-compose.yaml
index 6887f46..cd195d7 100644
--- a/compute-2-mep/ofelia/docker-compose.yaml
+++ b/compute-2-mep/ofelia/docker-compose.yaml
@@ -1,6 +1,6 @@
 services:
   ofelia:
-    image: mcuadros/ofelia:0.3.13
+    image: mcuadros/ofelia:0.3.14
     command: daemon --docker
     volumes:
       - /var/run/docker.sock:/var/run/docker.sock:ro
diff --git a/compute-2-mep/vaultwarden/docker-compose.yaml b/compute-2-mep/vaultwarden/docker-compose.yaml
index fc453ba..1acf281 100644
--- a/compute-2-mep/vaultwarden/docker-compose.yaml
+++ b/compute-2-mep/vaultwarden/docker-compose.yaml
@@ -8,7 +8,7 @@ volumes:
 
 services:
   vaultwarden:
-    image: vaultwarden/server:1.32.2
+    image: vaultwarden/server:1.32.7
     container_name: vaultwarden
     environment:
       - WEBSOCKET_ENABLED=true # Enable WebSocket notifications.
diff --git a/compute-2-mep/woodpecker/docker-compose.yaml b/compute-2-mep/woodpecker/docker-compose.yaml
index f2e2f8b..c8f58be 100644
--- a/compute-2-mep/woodpecker/docker-compose.yaml
+++ b/compute-2-mep/woodpecker/docker-compose.yaml
@@ -9,7 +9,7 @@ volumes:
 
 services:
   server:
-    image: woodpeckerci/woodpecker-server:v2.7.1
+    image: woodpeckerci/woodpecker-server:v2.8.2
     container_name: woodpecker_server
     environment:
       - WOODPECKER_OPEN=true
diff --git a/internals/semaphore/docker-compose.yaml b/internals/semaphore/docker-compose.yaml
new file mode 100644
index 0000000..04f6d5e
--- /dev/null
+++ b/internals/semaphore/docker-compose.yaml
@@ -0,0 +1,41 @@
+services:
+  db:
+    restart: unless-stopped
+    image: postgres:17
+    hostname: postgres
+    volumes: 
+     - db:/var/lib/postgresql/data
+    env_file:
+      - .env
+    environment:
+     POSTGRES_USER: semaphore
+     POSTGRES_DB: semaphore
+  semaphore:
+    restart: unless-stopped
+    ports:
+      - 8085:3000
+    image: semaphoreui/semaphore:v2.11.2
+    env_file:
+      - .env
+    environment:
+      SEMAPHORE_DB_USER: semaphore
+      SEMAPHORE_DB_HOST: postgres
+      SEMAPHORE_DB_PORT: 5432
+      SEMAPHORE_DB_DIALECT: postgres
+      SEMAPHORE_DB: semaphore
+      SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
+      TZ: UTC
+    depends_on:
+      - db
+    labels:
+      - "traefik.enable=true"
+      - "traefik.http.services.semaphore-service.loadbalancer.server.port=8085"
+      - "traefik.http.routers.semaphore.rule=Host(`semaphore.net.enpls.org`)"
+      - "traefik.http.routers.semaphore.tls=true"
+      - "traefik.http.routers.semaphore.tls.certresolver=defaultacme"
+      - "traefik.http.routers.semaphore.entrypoints=websecure"
+      - "traefik.http.routers.semaphore.service=semaphore-service"
+      - "traefik.http.routers.semaphore.middlewares=proxyHeader@file,proxyError@file"
+volumes:
+  db:
+    driver: local
diff --git a/internals/woodpecker/docker-compose.yaml b/internals/woodpecker/docker-compose.yaml
index 2b9bca5..2ae2e57 100644
--- a/internals/woodpecker/docker-compose.yaml
+++ b/internals/woodpecker/docker-compose.yaml
@@ -10,7 +10,7 @@ volumes:
 
 services:
   server:
-    image: woodpeckerci/woodpecker-server:v2.7.1
+    image: woodpeckerci/woodpecker-server:v2.8.2
     container_name: woodpecker_server
     environment:
       - WOODPECKER_OPEN=false