diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c2111fc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.env
+.vscode
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..14dc549
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,11 @@
+FROM python:slim
+
+
+RUN pip install aiohttp
+
+
+COPY src /src
+COPY test /test
+
+CMD [ "python", "/src/main.py"]
+
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..9d70c86
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,23 @@
+version: "3.7"
+
+services: 
+    webhook:
+        build: ./
+        image: webhook
+        container_name: webhook
+        networks: 
+            - caddy
+        restart: unless-stopped
+        labels:
+            caddy: ${DOMAIN}
+            caddy.tls: ${EMAIL}
+            caddy.reverse_proxy: "{{upstreams 8080}}"
+        logging:
+            driver: "json-file"
+            options:
+                max-size: "1m"
+        tty: true
+
+networks: 
+    caddy:
+        external: true
\ No newline at end of file
diff --git a/src/main.py b/src/main.py
new file mode 100644
index 0000000..50f898a
--- /dev/null
+++ b/src/main.py
@@ -0,0 +1,14 @@
+from aiohttp import web
+
+async def handle(request):
+    name = request.match_info.get('name', "Anonymous")
+    text = "Hello, " + name
+    return web.Response(text=text)
+
+app = web.Application()
+app.add_routes([web.get('/', handle),
+                web.get('/{name}', handle)])
+
+if __name__ == '__main__':
+    print("Starting")
+    web.run_app(app)
\ No newline at end of file