feat: initial mIRCcloud.com scaffold

- Express + TypeScript backend with IRC connection manager
- React + Vite frontend with mIRC-inspired theme
- Drizzle ORM + PostgreSQL schema (users, connections, channels, messages)
- Redis pub/sub for real-time WebSocket delivery across replicas
- IRC color code parser (16 + 99 extended palette)
- Kubernetes manifests for homecloud deployment
- Multi-stage Dockerfile with non-root user
- docker-compose for local development
This commit is contained in:
Jason Preston
2026-08-08 23:50:08 -06:00
commit c59ac7ad0f
52 changed files with 5723 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mirccloud-ingress
namespace: mirccloud
labels:
app.kubernetes.io/name: mirccloud
app.kubernetes.io/component: ingress
app.kubernetes.io/part-of: mirccloud
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
nginx.ingress.kubernetes.io/websocket-services: mirccloud-app
nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
nginx.ingress.kubernetes.io/upstream-hash-by: "$remote_addr"
spec:
ingressClassName: nginx-public
tls:
- hosts:
- mirccloud.com
- www.mirccloud.com
secretName: mirccloud-com-tls
rules:
- host: mirccloud.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: mirccloud-app
port:
number: 80
- host: www.mirccloud.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: mirccloud-app
port:
number: 80