diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..3ba657f
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,7 @@
+node_modules
+npm-debug.log
+tickets.db
+data/
+.env
+.git
+.gitignore
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..7a36630
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,20 @@
+FROM node:20-alpine
+
+WORKDIR /app
+
+# Copy package files first for better layer caching
+COPY package.json package-lock.json* ./
+
+RUN npm ci --omit=dev
+
+# Copy the rest of the application
+COPY server.js ./
+COPY public/ ./public/
+COPY assets/ ./assets/
+
+# Create data directory for the database
+RUN mkdir -p /app/data
+
+EXPOSE 3000
+
+CMD ["node", "server.js"]
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..81d6228
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,12 @@
+services:
+ ticketsystem:
+ build: .
+ container_name: ticketsystem
+ restart: unless-stopped
+ ports:
+ - "3000:3000"
+ volumes:
+ - ./data:/app/data # Bind mount for the SQLite database
+ - ./assets:/app/assets # Bind mount so you can update avatars etc.
+ env_file:
+ - .env
\ No newline at end of file
diff --git a/package.json b/package.json
index b879917..2af8724 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ticketsystem",
- "version": "1.0.0",
+ "version": "1.2",
"description": "",
"main": "server.js",
"scripts": {
diff --git a/public/index.html b/public/index.html
index c591f9e..94f3a7c 100644
--- a/public/index.html
+++ b/public/index.html
@@ -24,7 +24,6 @@
- Admin Dashboard
@@ -139,4 +138,4 @@