diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f9697d3cf4dcad8fc725a57b8357a7449438bb54..566040c7b3b212ac808e54d62c71c1c3f4f5174a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
diff --git a/Dockerfile b/Dockerfile
index 884400541ef4390e289313bf735fa2d0df2ecce6..2285f70e3546f2dde43055b4f095225761950e14 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
@@ -19,15 +19,15 @@
 # IN THE SOFTWARE.
 
 
-FROM registry.conarx.tech/containers/alpine/3.20 as mastodon-builder
+FROM registry.conarx.tech/containers/alpine/3.21 as mastodon-builder
 
 LABEL maintainer="Nigel Kukard <nkukard@lbsd.net>"
 ARG VERSION_INFO=
 
 ARG MASTODON_VER=4.3.2
 
-COPY --from=registry.conarx.tech/containers/nodejs/3.20:22.11.0 /opt/nodejs-22.11.0 /opt/nodejs-22.11.0
-COPY --from=registry.conarx.tech/containers/ruby/3.20:3.3.6 /opt/ruby-3.3.6 /opt/ruby-3.3.6
+COPY --from=registry.conarx.tech/containers/nodejs/3.21:22.12.0 /opt/nodejs-22.12.0 /opt/nodejs-22.12.0
+COPY --from=registry.conarx.tech/containers/ruby/3.21:3.3.6 /opt/ruby-3.3.6 /opt/ruby-3.3.6
 
 
 # Copy build patches
@@ -93,7 +93,7 @@ RUN set -eux; \
 
 
 
-FROM registry.conarx.tech/containers/alpine/3.20 as tools
+FROM registry.conarx.tech/containers/alpine/3.21 as tools
 
 RUN set -eux; \
 	true "Install tools"; \
@@ -103,20 +103,20 @@ RUN set -eux; \
 
 
 
-FROM registry.conarx.tech/containers/alpine/3.20
+FROM registry.conarx.tech/containers/alpine/3.21
 
 
 ARG VERSION_INFO=
 
 ARG RUBY_VER=3.3.6
-ARG NODEJS_VER=22.11.0
+ARG NODEJS_VER=22.12.0
 
 LABEL org.opencontainers.image.authors   "Nigel Kukard <nkukard@conarx.tech>"
-LABEL org.opencontainers.image.version   "3.20"
-LABEL org.opencontainers.image.base.name "docker.io/library/alpine:3.20"
+LABEL org.opencontainers.image.version   "3.21"
+LABEL org.opencontainers.image.base.name "docker.io/library/alpine:3.21"
 
-COPY --from=registry.conarx.tech/containers/ruby/3.20:3.3.6 /opt/ruby-3.3.6 /opt/ruby-3.3.6
-COPY --from=registry.conarx.tech/containers/nodejs/3.20:22.11.0 /opt/nodejs-22.11.0 /opt/nodejs-22.11.0
+COPY --from=registry.conarx.tech/containers/ruby/3.21:3.3.6 /opt/ruby-3.3.6 /opt/ruby-3.3.6
+COPY --from=registry.conarx.tech/containers/nodejs/3.21:22.12.0 /opt/nodejs-22.12.0 /opt/nodejs-22.12.0
 
 
 RUN set -eux; \
diff --git a/docker_release_version.sh b/docker_release_version.sh
index a54bca973e81857bf56fdea4b4e9fbd062ade7c8..dea065e00ac77d9687dbb2efecd985eca805608e 100644
--- a/docker_release_version.sh
+++ b/docker_release_version.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
diff --git a/usr/local/sbin/mastodon-rails b/usr/local/sbin/mastodon-rails
index 6ffe24a7970a26d313f72f14a1ebd56c8b5b9ed6..7da8037325390af1cca19d9d11898ce503e58a83 100644
--- a/usr/local/sbin/mastodon-rails
+++ b/usr/local/sbin/mastodon-rails
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
diff --git a/usr/local/sbin/start-mastodon b/usr/local/sbin/start-mastodon
index 1e5d6a95983c538d8b5b90018bd1740d9d070265..07f673e4073a9e0d43f33da9d2933d50d4880711 100644
--- a/usr/local/sbin/start-mastodon
+++ b/usr/local/sbin/start-mastodon
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
diff --git a/usr/local/sbin/tootctl b/usr/local/sbin/tootctl
index 526ee98db48802808e3d48b21bd73e22e659a826..d6dd0e676334a229d25063e3f69d0851aa7d1deb 100644
--- a/usr/local/sbin/tootctl
+++ b/usr/local/sbin/tootctl
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
diff --git a/usr/local/share/flexible-docker-containers/healthcheck.d/42-mastodon.sh b/usr/local/share/flexible-docker-containers/healthcheck.d/42-mastodon.sh
index 08b7598c84b6ed8c96f6b511e0c59b87224f0022..d245f25136bdd43a2276b9d2c1490376b188707c 100644
--- a/usr/local/share/flexible-docker-containers/healthcheck.d/42-mastodon.sh
+++ b/usr/local/share/flexible-docker-containers/healthcheck.d/42-mastodon.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
diff --git a/usr/local/share/flexible-docker-containers/init.d/42-mastodon.sh b/usr/local/share/flexible-docker-containers/init.d/42-mastodon.sh
index 16a04c783ce4da4601f170895f09953302a8b2ef..7a3d69345be4ea0c2e412f0bccf72e0d5ba15dbc 100755
--- a/usr/local/share/flexible-docker-containers/init.d/42-mastodon.sh
+++ b/usr/local/share/flexible-docker-containers/init.d/42-mastodon.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
@@ -221,6 +221,10 @@ if [ "$MASTODON_MODE" = "web" ]; then
 		sleep 2
 	done
 
+	# Output keys if we don't have any
+	if [ -z "$ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY" ]; then
+		mastodon-rails db:encryption:init
+	fi
 
 	# Check if we need to initialize the database
 	if [ ! -f /opt/mastodon/private/VERSION ]; then
diff --git a/usr/local/share/flexible-docker-containers/tests.d/42-mastodon.sh b/usr/local/share/flexible-docker-containers/tests.d/42-mastodon.sh
index 76306e4e8b07bc8cf25d201597c3c6a5e5a86dae..0b7f0b433457ec2f348616f07f7a8a3300d0cc1a 100644
--- a/usr/local/share/flexible-docker-containers/tests.d/42-mastodon.sh
+++ b/usr/local/share/flexible-docker-containers/tests.d/42-mastodon.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (c) 2022-2023, AllWorldIT.
+# Copyright (c) 2022-2025, AllWorldIT.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to