Update Enigma BBS deployment
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled

This commit is contained in:
capitano
2026-04-07 16:35:44 +02:00
parent 6a39457989
commit 3089316a25
6 changed files with 197 additions and 77 deletions

View File

@@ -13,9 +13,110 @@ spec:
labels:
app: enigmabbs
spec:
initContainers:
- name: init-check
image: busybox:latest
command: ["/bin/sh", "-c"]
args:
- |
echo "Checking for existing processes on port 8888..."
netstat -tlnp 2>/dev/null | grep 8888 || echo "Port 8888 is free"
- name: init-config
image: enigmabbs/enigma-bbs:latest
command: ["/bin/sh", "-c"]
args:
- |
set -e
echo "Creating directories..."
mkdir -p /enigma-bbs/config/security
mkdir -p /enigma-bbs/config/menus
mkdir -p /enigma-bbs/db
mkdir -p /enigma-bbs/filebase
echo "Copying SSH key from secret..."
cp /enigma-ssh-key/ssh_private_key.pem /enigma-bbs/config/security/ssh_private_key.pem
chmod 600 /enigma-bbs/config/security/ssh_private_key.pem
echo "Creating config.hjson..."
cat > /enigma-bbs/config/config.hjson << 'EOF'
{
system: {
bbsName: "Enigma BBS"
bbsTimeZone: "America/New_York"
bbsNodeNumber: 1
domain: "enigma.giaco.net"
}
loginServers: {
telnet: {
enabled: true
port: 8888
}
ssh: {
enabled: true
port: 44511
privateKeyPem: "/enigma-bbs/config/security/ssh_private_key.pem"
privateKeyPass: ""
}
}
contentServers: {
web: {
domain: "enigma.giaco.net"
http: {
enabled: true
port: 8888
}
}
}
security: {
secureLoginOnly: false
requireSecureConnections: false
}
}
EOF
echo "Creating achievements.hjson..."
cat > /enigma-bbs/config/achievements.hjson << 'EOF'
{
systemAchievements: {
}
}
EOF
echo "Creating menu.hjson..."
cat > /enigma-bbs/config/menu.hjson << 'EOF'
{
menus: {
someMenu: {
}
}
}
EOF
echo "Init completed"
volumeMounts:
- name: enigmabbs-config
mountPath: /enigma-bbs/config
- name: enigmabbs-data
mountPath: /enigma-bbs/db
- name: enigmabbs-art
mountPath: /enigma-bbs/art
- name: enigmabbs-mods
mountPath: /enigma-bbs/mods
- name: enigmabbs-ssh-key-volume
mountPath: /enigma-ssh-key
readOnly: true
containers:
- name: enigmabbs
image: git.giaco.net/enigma/enigmabbs:latest
image: enigmabbs/enigma-bbs:latest
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args:
- |
set -e
echo "Killing any existing pm2 processes..."
pm2 delete all || true
pm2 kill || true
sleep 2
echo "Starting Enigma BBS..."
exec pm2-runtime main.js
ports:
- containerPort: 8888
name: web
@@ -31,7 +132,7 @@ spec:
mountPath: /enigma-bbs/db
- name: enigmabbs-art
mountPath: /enigma-bbs/art
- name: enigmabbs-config-volume
- name: enigmabbs-config
mountPath: /enigma-bbs/config
- name: enigmabbs-mods
mountPath: /enigma-bbs/mods
@@ -47,15 +148,15 @@ spec:
readinessProbe:
tcpSocket:
port: 8888
initialDelaySeconds: 60
initialDelaySeconds: 90
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
failureThreshold: 5
livenessProbe:
tcpSocket:
port: 8888
initialDelaySeconds: 120
periodSeconds: 20
initialDelaySeconds: 180
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 3
volumes:
@@ -65,12 +166,13 @@ spec:
- name: enigmabbs-art
persistentVolumeClaim:
claimName: enigmabbs-art
- name: enigmabbs-config-volume
configMap:
name: enigmabbs-config
- name: enigmabbs-config
emptyDir: {}
- name: enigmabbs-ssh-key-volume
secret:
secretName: enigmabbs-ssh-key
- name: enigmabbs-mods
persistentVolumeClaim:
claimName: enigmabbs-mods
- name: enigmabbs-logs
persistentVolumeClaim:
claimName: enigmabbs-logs
emptyDir: {}