Files
familienarchiv/.devcontainer/CLAUDE.md
2026-05-05 12:39:20 +02:00

2.5 KiB

Dev Container — Familienarchiv

Overview

VS Code Dev Container configuration for a pre-configured development environment. Includes Java 21, Maven, and Node.js 24 — everything needed to work on both backend and frontend.

Configuration

File: .devcontainer/devcontainer.json

Included Features

Feature Version Purpose
Java 21 Spring Boot backend
Maven bundled with Java feature Build tool
Node.js 24 SvelteKit frontend

VS Code Extensions (Auto-installed)

Extension Purpose
vscjava.vscode-java-pack Java language support, debugging, testing
vmware.vscode-spring-boot Spring Boot tooling
gabrielbb.vscode-lombok Lombok annotation support
humao.rest-client HTTP request files (for backend/api_tests/)

Ports

  • 8080 forwarded to host — access backend at http://localhost:8080

User

Runs as vscode user (not root) for security.

How to Use

Prerequisites

  • VS Code with the Dev Containers extension installed
  • Docker running locally

Open in Dev Container

  1. Open the project in VS Code
  2. Press F1 → type "Dev Containers: Reopen in Container"
  3. VS Code will:
    • Build the container using the root docker-compose.yml
    • Install Java 21, Maven, and Node 24
    • Install the listed extensions
    • Mount the workspace folder

Working Inside the Container

Once inside the container, you have access to both stacks:

# Backend
cd backend
./mvnw spring-boot:run

# Frontend (in a new terminal)
cd frontend
npm install
npm run dev

The container reuses the docker-compose.yml services, so PostgreSQL and MinIO are available automatically.

Forwarding Frontend Port

The devcontainer config only forwards port 8080 by default. To access the frontend dev server (port 5173 or 3000), either:

  1. Add 5173 to forwardPorts in devcontainer.json, or
  2. Use the VS Code "Ports" panel to forward it dynamically

Limitations

  • The devcontainer attaches to the backend service from docker-compose.yml, so it inherits those environment variables
  • OCR service and other containers should be started separately via docker-compose up -d
  • GPU passthrough for OCR training is not configured

Customization

To add more tools or extensions, edit .devcontainer/devcontainer.json:

{
  "features": {
    "ghcr.io/devcontainers/features/python:1": {
      "version": "3.11"
    }
  },
  "forwardPorts": [8080, 5173, 3000]
}