diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..fba9f9e
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,36 @@
+# Build stage
+FROM golang:bookworm AS builder
+
+# Install UPX
+RUN apt-get update && apt-get install -y wget xz-utils && rm -rf /var/lib/apt/lists/*
+
+# Download the latest UPX binary directly from GitHub
+RUN wget https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-amd64_linux.tar.xz
+RUN tar -xf upx-5.0.2-amd64_linux.tar.xz && mv upx-5.0.2-amd64_linux/upx /usr/local/bin/upx && rm -r upx-5.0.2-amd64_linux upx-5.0.2-amd64_linux.tar.xz
+
+# Create a simple Go web server
+WORKDIR /app
+
+# Copy go mod files first for better layer caching
+COPY go.mod ./
+RUN go mod download
+
+# Copy source code
+COPY . .
+
+# Create necessary directories, build, and compress with UPX
+RUN mkdir -p /var/sockets
+RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags="-s -w -extldflags '-static' -X main.GOMEMLIMIT=50MiB -X runtime.defaultGOGC=150" -trimpath -gcflags="-l=4" -asmflags=-trimpath -o bin/main app/gofudge/main.go
+RUN upx --best --ultra-brute bin/main
+RUN chmod +x bin/main
+
+# Final stage with Chainguard static
+FROM cgr.dev/chainguard/static:latest
+WORKDIR /app
+
+# Copy only the built binary and necessary directories
+COPY --from=builder /app/bin/main ./bin/main
+
+EXPOSE 8080
+USER nonroot:nonroot
+CMD ["./bin/main"]
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..b35358f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,17 @@
+Copyright (c) 2025 Riomoo [alister at kamikishi dot net]
+
+This software is licensed under the Prism Information License (PIL).
+
+- You are free to use, modify, and distribute this software.
+- Any derivative work must include this license.
+- You must also provide a concise explanation of how to operate this software,
+ as well as backends and frontends (if any) that work with this software.
+- You must credit the original creator of this software.
+- You may choose to license this software under additional licenses, provided that the terms of the original PIL are still adhered to.
+
+This software is provided "as is", without any warranty of any kind,
+express or implied, including but not limited to the warranties of merchantability,
+fitness for a particular purpose, and non-infringement.
+
+By using this software, you agree to the terms of the PIL.
+For more information visit: https://pil.jester-designs.com/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a4d3417
--- /dev/null
+++ b/README.md
@@ -0,0 +1,58 @@
+# GoFudge
+
+A Fudge Dice rolling room programmed in Go
+
+## License
+
+[](LICENSE)
+
+## Prerequisites
+
+[](https://golang.org/dl/)
+- The version of **Go** used to test the code in this repository is **1.25.3**.
+
+## Get started
+
+- run the following commands: `go mod tidy; go build -o bin/main ./app/gofudge/main.go` then `./bin/main` to start the server on port 8080.
+- Visit http://localhost:8080 in your browser.
+
+- Upon visiting the URL you will be created with a username entry and Create room button. After that you will be in the room.
+- (If you are hosting this publicly) You can copy the room link in the top right hand corner and share it to anyone. They will be prompted to also pick a username.
+- From there you may increase/decrease the modifier as needed for the skill you are rolling for.
+
+### Podman/Docker
+
+- If you want to use this with Docker, replace all `podman` commands in `run.sh` instances with `docker`
+- Use `run.sh` script which will start the site on port `12007` and to make it public change the `8080` port in the NGINX config to `12007` or change the port in the `run.sh` script how you like.
+- To use it locally, same as above but visit http://localhost:12007 instead.
+
+## Config for NGINX to use as a website:
+```
+upstream gofudge {
+ server 127.0.0.1:8080;
+ server [::1]:8080;
+}
+server {
+ listen 80;
+ listen [::1]:80;
+ server_name fudge.example.com;
+ location / {
+ proxy_pass http://gofudge;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+}
+```
+
+
+
+## Software Used but not included
+
+
+
+
+
+
+