diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..475797f5837ade1f84abf4acd768cb19809aaf21
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,3 @@
+node_modules/
+target/
+.idea
diff --git a/.gitignore b/.gitignore
index 1c9c34dab61104c25c54685f79a3fb26a249daba..91c5906bdee55065ed7958a7baf2ecd5d8114826 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ dist-ssr
 target
 *.local
 release
+.idea
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..a732e90a450e98e1a70b45da2fcdb4f98451d808
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,16 @@
+FROM node:16 AS build
+
+WORKDIR /app
+
+COPY package.json /app/package.json
+
+RUN yarn install
+
+COPY . .
+
+RUN yarn build
+
+FROM nginxinc/nginx-unprivileged:1.21.6
+
+COPY --from=build /app/target/assets /usr/share/nginx/html/assets
+COPY --from=build /app/target/chatterbox.html /usr/share/nginx/html/chatterbox.html