diff --git a/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/.dockerignore b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/.dockerignore new file mode 100644 index 0000000..017b280 --- /dev/null +++ b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/.dockerignore @@ -0,0 +1,8 @@ +.git +.github +.settings +target +*.iml +.idea +.vscode +node_modules diff --git a/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/.gitignore b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/.gitignore new file mode 100644 index 0000000..82b069a --- /dev/null +++ b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/.gitignore @@ -0,0 +1,27 @@ +# Maven +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +# IDE-spezifische Dateien +.idea/ +*.iws +*.iml +*.ipr +.vscode/ +.settings/ +.classpath +.project +.factorypath + +# Temporäre Dateien +*.log +*.tmp +*.temp + +# Lokale Konfigurationsdateien +src/main/resources/application-local.properties + +# Devcontainer Volumen +.devcontainer/postgres-data/ diff --git a/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/Dockerfile b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/Dockerfile new file mode 100644 index 0000000..f7d25c5 --- /dev/null +++ b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/Dockerfile @@ -0,0 +1,17 @@ +FROM mcr.microsoft.com/devcontainers/java:1-21-bullseye + +ARG INSTALL_MAVEN="true" +ARG MAVEN_VERSION="" + +ARG INSTALL_GRADLE="false" +ARG GRADLE_VERSION="" + +RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \ + && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 diff --git a/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/devcontainer.json b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/devcontainer.json new file mode 100644 index 0000000..cc4db71 --- /dev/null +++ b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/devcontainer.json @@ -0,0 +1,9 @@ +{ + "name": "Java & PostgreSQL", + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + "forwardPorts": [9080, 5432], + "postCreateCommand": "mvn clean install -DskipTests", + "remoteUser": "vscode" +} diff --git a/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/docker-compose.yml b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..15ae97a --- /dev/null +++ b/cmd/jws/projects/jakarta-jsp-todo/.devcontainer/docker-compose.yml @@ -0,0 +1,44 @@ +version: "3.8" + +volumes: + postgres-data: + +services: + app: + container_name: javadev + build: + context: . + dockerfile: Dockerfile + environment: + # NOTE: POSTGRES_DB/USER/PASSWORD should match values in db container + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + POSTGRES_DB: postgres + POSTGRES_HOSTNAME: postgresdb + + volumes: + - ../..:/workspaces:cached + + # Overrides default command so things don't shut down after the process ends. + command: sleep infinity + + # Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function. + network_mode: service:db + + # Use "forwardPorts" in **devcontainer.json** to forward an app port locally. + # (Adding the "ports" property to this file will not forward from a Codespace.) + + db: + container_name: postgresdb + image: postgres:latest + restart: unless-stopped + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + # NOTE: POSTGRES_DB/USER/PASSWORD should match values in app container + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + POSTGRES_DB: postgres + + # Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally. + # (Adding the "ports" property to this file will not forward from a Codespace.)