diff --git a/apps/matrix/capture-config/.gitignore b/apps/capture-config/.gitignore
similarity index 100%
rename from apps/matrix/capture-config/.gitignore
rename to apps/capture-config/.gitignore
diff --git a/apps/capture-config/Dockerfile b/apps/capture-config/Dockerfile
new file mode 100644
index 0000000..d5b4767
--- /dev/null
+++ b/apps/capture-config/Dockerfile
@@ -0,0 +1,4 @@
+FROM gcr.io/distroless/static:nonroot
+ARG TARGETARCH
+
+COPY capture-config_${TARGETARCH} /capture-config
diff --git a/apps/capture-config/Makefile b/apps/capture-config/Makefile
new file mode 100644
index 0000000..a5e3014
--- /dev/null
+++ b/apps/capture-config/Makefile
@@ -0,0 +1,29 @@
+clean:
+	rm -f capture-config_*
+
+build_arm64: export CGO_ENABLED=0
+build_arm64: export GO111MODULE=on
+build_arm64: export GOOS=linux
+build_arm64: export GOARCH=arm64
+build_arm64:
+	go build -o capture-config_arm64 *.go
+
+build_amd64: export CGO_ENABLED=0
+build_amd64: export GO111MODULE=on
+build_amd64: export GOOS=linux
+build_amd64: export GOARCH=amd64
+build_amd64:
+	go build -o capture-config_amd64 *.go
+
+push_arm64: clean build_arm64
+	podman build --platform linux/arm64 --tag=giolekva/capture-config:arm64 .
+	podman push giolekva/capture-config:arm64
+
+push_amd64: clean build_amd64
+	podman build --platform linux/amd64 --tag=giolekva/capture-config:amd64 .
+	podman push giolekva/capture-config:amd64
+
+push: push_arm64 push_amd64
+	podman manifest create giolekva/capture-config:latest giolekva/capture-config:arm64 giolekva/capture-config:amd64
+	podman manifest push giolekva/capture-config:latest docker://docker.io/giolekva/capture-config:latest
+	podman manifest rm giolekva/capture-config:latest
diff --git a/apps/matrix/capture-config/go.mod b/apps/capture-config/go.mod
similarity index 100%
rename from apps/matrix/capture-config/go.mod
rename to apps/capture-config/go.mod
diff --git a/apps/matrix/capture-config/go.sum b/apps/capture-config/go.sum
similarity index 100%
rename from apps/matrix/capture-config/go.sum
rename to apps/capture-config/go.sum
diff --git a/apps/matrix/capture-config/main.go b/apps/capture-config/main.go
similarity index 66%
rename from apps/matrix/capture-config/main.go
rename to apps/capture-config/main.go
index 08d7be2..73b94d6 100644
--- a/apps/matrix/capture-config/main.go
+++ b/apps/capture-config/main.go
@@ -3,6 +3,7 @@
 import (
 	"context"
 	"flag"
+	"fmt"
 	"io/ioutil"
 	"path"
 
@@ -14,9 +15,8 @@
 	"github.com/miracl/conflate"
 )
 
-var configFile = flag.String("config", "", "Path to the homeserver.yaml config file.")
-var configToMerge = flag.String("config-to-merge", "", "Name of the configmap to merge with generated one.")
-var toMergeFilename = flag.String("to-merge-filename", "", "Name of the file from config to merge.")
+var baseFile = flag.String("base", "", "Path to the homeserver.yaml config file.")
+var mergeWith = flag.String("merge-with", "", "Name of the file from config to merge.")
 var namespace = flag.String("namespace", "", "Namespace name.")
 var configMapName = flag.String("config-map-name", "", "Name of the ConfigMap to create.")
 
@@ -32,7 +32,7 @@
 	return cs
 }
 
-func createConfig(data []byte) *v1.ConfigMap {
+func newConig(data []byte) *v1.ConfigMap {
 	return &v1.ConfigMap{
 		TypeMeta: metav1.TypeMeta{
 			Kind:       "ConfigMap",
@@ -42,7 +42,7 @@
 			Name: *configMapName,
 		},
 		Data: map[string]string{
-			path.Base(*configFile): string(data),
+			path.Base(*baseFile): string(data),
 		},
 	}
 }
@@ -51,25 +51,28 @@
 	flag.Parse()
 	client := createClient().CoreV1().ConfigMaps(*namespace)
 	conf := conflate.New()
-	generated, err := ioutil.ReadFile(*configFile)
+	generated, err := ioutil.ReadFile(*baseFile)
 	if err != nil {
 		panic(err)
 	}
+	fmt.Printf("--- BASE:\n%s\n", string(generated))
 	if err := conf.AddData(generated); err != nil {
 		panic(err)
 	}
-	toMerge, err := client.Get(context.TODO(), *configToMerge, metav1.GetOptions{})
+	mergeWith, err := ioutil.ReadFile(*mergeWith)
 	if err != nil {
 		panic(err)
 	}
-	if err := conf.AddData([]byte(toMerge.Data[*toMergeFilename])); err != nil {
+	fmt.Printf("--- MERGE WITH:\n%s\n", string(mergeWith))
+	if err := conf.AddData(mergeWith); err != nil {
 		panic(err)
 	}
 	merged, err := conf.MarshalYAML()
 	if err != nil {
 		panic(err)
 	}
-	config := createConfig(merged)
+	fmt.Printf("--- MERGED:\n%s\n", string(merged))
+	config := newConig(merged)
 	if _, err := client.Create(context.TODO(), config, metav1.CreateOptions{}); err != nil {
 		panic(err)
 	}
diff --git a/apps/matrix/capture-config/Dockerfile b/apps/matrix/capture-config/Dockerfile
deleted file mode 100644
index bcecf7b..0000000
--- a/apps/matrix/capture-config/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM alpine:latest
-
-ARG TARGETARCH
-
-COPY capture-config_${TARGETARCH} /usr/bin/capture-config
-RUN chmod +x /usr/bin/capture-config
diff --git a/apps/matrix/capture-config/Makefile b/apps/matrix/capture-config/Makefile
deleted file mode 100644
index c05687d..0000000
--- a/apps/matrix/capture-config/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-clean:
-	rm -f capture-config_*
-
-build_arm64: export CGO_ENABLED=0
-build_arm64: export GO111MODULE=on
-build_arm64: export GOOS=linux
-build_arm64: export GOARCH=arm64
-build_arm64:
-	go build -o capture-config_arm64 *.go
-
-build_amd64: export CGO_ENABLED=0
-build_amd64: export GO111MODULE=on
-build_amd64: export GOOS=linux
-build_amd64: export GOARCH=amd64
-build_amd64:
-	go build -o capture-config_amd64 *.go
-
-build: clean build_arm64 build_amd64
-
-push: build
-	docker buildx build --tag=giolekva/capture-config:latest . --platform=linux/arm64,linux/amd64 --push
