diff --git a/.woodpecker.yml b/.woodpecker.yml
index 9efda50..f1bae78 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -5,22 +5,27 @@ steps:
   #     - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
   #     - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#default
 
-  build-docker-image:
-    image: alpine:edge
-    commands:
-      - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
-      - echo "system-features = nixos-test benchmark big-parallel uid-range kvm" > /etc/nix/nix.conf
-      - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#docker
+  # build-docker-image:
+  #   image: alpine:edge
+  #   commands:
+  #     - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
+  #     - echo "system-features = nixos-test benchmark big-parallel uid-range kvm" > /etc/nix/nix.conf
+  #     - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#docker
 
-  publish-image:
-    when:
-      event: [tag, deployment]
-      environment: prod
-    image: git.spacegirl.nl/patrick/plugin-artifact
-    settings:
-      tag: $CI_COMMIT_TAG
-      user: patrick
-      password:
-        from_secret: forgejo_token
-      repo: $CI_REPO
-      image_tar: result
+  build-docker-image:
+    image: docker
+    commands:
+      - docker build --rm -t .
+
+  # publish-image:
+  #   when:
+  #     event: [tag, deployment]
+  #     environment: prod
+  #   image: git.spacegirl.nl/patrick/plugin-artifact
+  #   settings:
+  #     tag: $CI_COMMIT_TAG
+  #     user: patrick
+  #     password:
+  #       from_secret: forgejo_token
+  #     repo: $CI_REPO
+  #     image_tar: result
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..df2fe5a
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,31 @@
+FROM rust-1.73.0-slim AS builder
+
+RUN USER=root cargo new --bin memejoin-docker
+WORKDIR ./memejoin-docker
+COPY ./Cargo.toml ./Cargo.toml
+RUN cargo build --release
+RUN rm src/*.rs
+
+ADD . ./
+
+RUN rm ./target/release/deps/memejoin-docker
+RUN cargo build --release
+
+FROM debian:buster-slim
+ARG APP=/usr/src/app
+
+RUN apt update \
+ && apt install -y ca-certificates cmake gcc libopus libssl openssl pkg-config \
+ && rm -rf /var/lib/apt/lists/*
+
+EXPOSE 8100
+
+RUN groupadd $APP_USER && useradd -g $APP_USER $APP_USER && mkdir -p ${APP}
+COPY --from=builder /memejoin-docker/target/release/memejoin-docker ${APP}/memejoin-docker
+
+RUN chown -R $APP_USER:$APP_USER ${APP}
+
+USER $APP_USER
+WORKDIR ${APP}
+
+CMD ["./memejoin-docker"]
diff --git a/rust-toolchain b/rust-toolchain
index bf867e0..6f39b03 100644
--- a/rust-toolchain
+++ b/rust-toolchain
@@ -1 +1 @@
-nightly
+nightly-2023-07-27