diff --git a/.gitignore b/.gitignore
index 740389f2..1f8f014c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,3 +56,6 @@ vtrack-os/.project
.externalToolBuilders/
.claude/*
+
+.zed/
+logs/
diff --git a/Dockerfile.dev-hotreload b/Dockerfile.dev-hotreload
new file mode 100644
index 00000000..6e352c2f
--- /dev/null
+++ b/Dockerfile.dev-hotreload
@@ -0,0 +1,26 @@
+FROM tomcat:9-jre17 as dev_base
+RUN apt-get update
+RUN apt-get upgrade -y
+RUN mkdir /opt/faction
+
+# Fix issue with sending emails
+RUN sed -i 's/^jdk.tls.disabledAlgorithms/# jdk.tls.disabledAlgorithms/' /opt/java/openjdk/conf/security/java.security
+
+# Remove default Tomcat webapps
+RUN rm -rf /usr/local/tomcat/webapps/manager
+RUN rm -rf /usr/local/tomcat/webapps/host-manager
+RUN rm -rf /usr/local/tomcat/webapps/docs
+RUN rm -rf /usr/local/tomcat/webapps/examples
+RUN rm -rf /usr/local/tomcat/webapps/ROOT
+
+# Create the ROOT directory where we'll mount the exploded WAR
+RUN mkdir -p /usr/local/tomcat/webapps/ROOT
+
+# Enable context reloading by creating a context.xml for ROOT app
+RUN mkdir -p /usr/local/tomcat/conf/Catalina/localhost
+RUN echo '' > /usr/local/tomcat/conf/Catalina/localhost/ROOT.xml && \
+ echo '