diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f7d6322..c4f2fab 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ // More info: https://containers.dev/implementors/json_reference/ { - "image": "mcr.microsoft.com/devcontainers/javascript-node:latest", + "image": "mcr.microsoft.com/devcontainers/javascript-node:dev-24-trixie", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index d7c6b75..269d01e 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -14,6 +14,7 @@ on: tags: ["v*.*.*"] pull_request: branches: ["main"] + workflow_dispatch: env: # Use docker.io for Docker Hub if empty diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index 2d7bcb6..ae1c1c9 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -2,12 +2,10 @@ FROM dunglas/frankenphp:php8.4-trixie ARG DEVCONTAINER_SERVICE_ID ARG DEVCONTAINER_SERVICE_NAME -ARG COMPOSE_PROFILES ENV DEVCONTAINER_SERVICE_ID=${DEVCONTAINER_SERVICE_ID} ENV DEVCONTAINER_SERVICE_NAME=${DEVCONTAINER_SERVICE_NAME} -ENV COMPOSE_PROFILES=${COMPOSE_PROFILES} -ENV WORKSPACE_ROOT=${WORKSPACE_ROOT:-/workspace} +ENV WORKSPACE_ROOT=${WORKSPACE_ROOT:-/workspaces} USER root @@ -17,7 +15,6 @@ RUN addgroup --gid ${DEVCONTAINER_SERVICE_ID} ${DEVCONTAINER_SERVICE_NAME} && \ --disabled-password --shell /bin/false --uid ${DEVCONTAINER_SERVICE_ID} $DEVCONTAINER_SERVICE_NAME RUN apt-get update && \ - mkdir -vp var/log && \ apt-get install -y \ locales-all \ openssh-client \ @@ -32,4 +29,4 @@ RUN apt-get update && \ COPY php.ini /usr/local/etc/php/php.ini -COPY typo3.caddyfile /etc/frankenphp/Caddyfile \ No newline at end of file +COPY typo3.caddyfile /etc/frankenphp/Caddyfile diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index 61d73e7..780e0cd 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -7,46 +7,9 @@ "dockerfile": "Dockerfile", "args": { "DEVCONTAINER_SERVICE_NAME": "devcontainer", - "DEVCONTAINER_SERVICE_ID": "10000", - "COMPOSE_PROFILES": "frankenphp" + "DEVCONTAINER_SERVICE_ID": "10000" } }, - "workspaceFolder": "/workspace/${localWorkspaceFolderBasename}", - "mounts": [ - "source=${localWorkspaceFolderBasename}-build,target=${containerWorkspaceFolder}/.build,type=volume" - ], - "features": { - "ghcr.io/devcontainers/features/sshd:1": {}, - "ghcr.io/devcontainers/features/docker-in-docker:2": { - "moby": false - } - }, - "containerEnv": { - "WORKSPACE_ROOT": "${containerWorkspaceFolder:-/workspace}", - "TYPO3_INSTALL_WEB_SERVER_CONFIG": "other", - "SERVER_NAME": "127.0.0.1" - }, - "forwardPorts": [ - 80, - 2222, - 3306, - 8080 - ], - "portsAttributes": { - "80": { - "label": "Webserver" - }, - "2222": { - "label": "SSH daemon Port" - }, - "3306": { - "label": "Mysql/MariaDB database" - }, - "8080": { - "label": "Mysql Adminer" - } - }, - "onCreateCommand": "chmod -c +x ${WORKSPACE_ROOT}/.devcontainer/onCreateCommandScript.sh && ${WORKSPACE_ROOT}/.devcontainer/onCreateCommandScript.sh", "customizations": { "vscode": { "extensions": [ @@ -56,6 +19,10 @@ "debug.openDebug": "openOnDebugBreak", "debug.internalConsoleOptions": "openOnSessionStart", "extensions.autoUpdate": false, + "editor.selectionHighlight": false, + "editor.suggestSelection": "first", + "editor.tabCompletion": "onlySnippets", + "editor.wordBasedSuggestions": "off", "editor.codeActionsOnSave": { "source.fixAll.markdownlint": "explicit" }, diff --git a/src/typo3-frankenphp/.env b/src/typo3-frankenphp/.env deleted file mode 100644 index 0e63ff9..0000000 --- a/src/typo3-frankenphp/.env +++ /dev/null @@ -1,34 +0,0 @@ -TZ=Europe/Berlin -COMPOSE_PROJECT_NAME=introduction -DB_CONNECTION_ROOT_PASSWORD=dbroot - -# -# TYPO3 Settings -# ---------------------------------------- -# -# The following settings are used during the installation of TYPO3 -# and are also available in the running container as environment variables. -# In a containerless environment they should be set in a file named TYPO3.env -# placed in the root of the TYPO3 project. -#---------------------------------------- -TYPO3_CONTEXT=Development -#TYPO3_CONTEXT=Production - -TYPO3_INSTALL_DB_DRIVER=mysqli -TYPO3_INSTALL_DB_USER=db -TYPO3_INSTALL_DB_PASSWORD=db -TYPO3_INSTALL_DB_HOST=127.0.0.1 -TYPO3_INSTALL_DB_PORT=3306 -TYPO3_INSTALL_DB_USE_EXISTING=true -TYPO3_INSTALL_DB_DBNAME=db -TYPO3_INSTALL_ADMIN_USER=admin -TYPO3_INSTALL_ADMIN_PASSWORD=Password!1 -TYPO3_INSTALL_SITE_NAME=TYPO3 Introduction Package -TYPO3_INSTALL_SITE_SETUP_TYPE=no -TYPO3_CONFIG_SYS_TRUSTED_HOST_PATTERN="localhost|127.0.0.1" - -#https://www.php.net/manual/en/errorfunc.constants.php - CAUTION - wrong setting could break Image Processing tests in BE -#this includes E_RECOVERABLE_ERROR (4096), E_ERROR (1) -TYPO3_CONFIG_SYS_EXCEPTIONALERRORS=4097 -# this includes E_DEPRECATED (8192), E_RECOVERABLE_ERROR (4096), E_WARNING (2) -#TYPO3_CONFIG_SYS_EXCEPTIONALERRORS=12290 diff --git a/src/typo3-frankenphp/Dockerfile copy b/src/typo3-frankenphp/Dockerfile copy deleted file mode 100644 index ac8eb84..0000000 --- a/src/typo3-frankenphp/Dockerfile copy +++ /dev/null @@ -1,42 +0,0 @@ -FROM mcr.microsoft.com/devcontainers/base:debian - -ARG USER=vscode - -# Install linux dependencies -RUN apt-get update &&\ - apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev &&\ - apt dist-upgrade -y - -# Get latest Android SDK -ENV ANDROID_HOME=/opt/android-sdk-linux -ENV ANDROID_SDK_ROOT=$ANDROID_HOME -COPY --from=mobiledevops/android-sdk-image $ANDROID_HOME $ANDROID_HOME -RUN mkdir $ANDROID_HOME/cmdline-tools/latest &&\ - (cd $ANDROID_HOME/cmdline-tools && ls | grep -v latest | xargs mv -t latest) -ENV PATH="${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}" - -# Get latest Java SDK -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:latest $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -# Get latest Flutter -ENV FLUTTER_HOME=/usr/bin/flutter -RUN mkdir -p $FLUTTER_HOME &&\ - git clone -b stable https://github.com/flutter/flutter $FLUTTER_HOME -ENV PATH="${FLUTTER_HOME}/bin:${PATH}" -RUN chmod +x $FLUTTER_HOME/bin/flutter &&\ - git config --global --add safe.directory '*' &&\ - flutter precache - -# Install flutter bash completion -RUN chown 1000:1000 $FLUTTER_HOME -R &&\ - chown 1000:1000 $JAVA_HOME -R &&\ - chown 1000:1000 $ANDROID_HOME -R -USER ${USER} - -# Source flutter bash completion -RUN echo 'source <(flutter bash-completion)' >> ~/.bashrc &&\ - sdkmanager --version &&\ - java --version &&\ - flutter doctor