Initial commit: lightweight webserver with X-Server-Time header

This commit is contained in:
Arch Agent
2026-05-06 08:26:24 +02:00
commit e746fca434
3 changed files with 42 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
FROM python:3-alpine
WORKDIR /app
COPY server.py .
EXPOSE 8000
CMD ["python3", "server.py"]
+8
View File
@@ -0,0 +1,8 @@
version: "3.9"
services:
webserver:
build: .
container_name: x-server-time
ports:
- "8000:8000"
restart: unless-stopped
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env python3
from http.server import HTTPServer, BaseHTTPRequestHandler
from datetime import datetime, timezone
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header("Content-type", "text/plain")
self.send_header("X-Server-Time", datetime.now(timezone.utc).isoformat())
self.end_headers()
self.wfile.write(b"OK\n")
def do_HEAD(self):
self.send_response(200)
self.send_header("Content-type", "text/plain")
self.send_header("X-Server-Time", datetime.now(timezone.utc).isoformat())
self.end_headers()
def log_message(self, format, *args):
pass
if __name__ == "__main__":
port = 8000
server = HTTPServer(("", port), Handler)
print(f"Server laeuft auf Port {port}")
try:
server.serve_forever()
except KeyboardInterrupt:
pass