🐧 Crumbforest Docker + TTYD Setup (CakePHP 5)

Dieses Setup integriert CakePHP, MariaDB, TTYD und ein interaktives Login-Terminal.


📁 Dockerfile (Auszug)

FROM php:8.3-apache

RUN apt-get update && apt-get install -y \
    curl bash libicu-dev dos2unix \
    && docker-php-ext-install intl pdo_mysql \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

RUN curl -L https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -o /usr/local/bin/ttyd && \
    chmod +x /usr/local/bin/ttyd

COPY session_wrapper.sh /scripts/session_wrapper.sh
RUN chmod +x /scripts/session_wrapper.sh

COPY . /var/www/html
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

WORKDIR /var/www/html

⚙️ entrypoint.sh

#!/bin/bash
echo "🚀 Starte Apache und Crumbforest Terminal..."
apache2ctl start
ttyd --writable /scripts/session_wrapper.sh

📡 docker-compose.yml

services:
  app:
    build: .
    ports:
      - "8080:80"
      - "7681:7681"
    volumes:
      - .:/var/www/html
    depends_on:
      - db

🧙 session_wrapper.sh (TTYD-kompatibel)

#!/bin/bash

clear
echo "Willkommen im Crumbforest Terminal!"
echo "-----------------------------------"
echo
echo "🌲 Deine Reise beginnt hier. 🌲"
echo

exec login

✅ Ergebnis

  • Token-basierter Zugang über TTYD
  • Web-Login über CakePHP
  • Konsistentes Setup ohne CSRF-Probleme

👉 Dokumentation bereit für Git, Wiki oder Deployment-Skripte.