Update READMEs
This commit is contained in:
@@ -42,7 +42,7 @@ See the [docs/](./docs) folder for detailed documentation:
|
|||||||
- [Development Notes](./docs/README.dev-notes.md) - Setup and troubleshooting
|
- [Development Notes](./docs/README.dev-notes.md) - Setup and troubleshooting
|
||||||
- [Modular Structure](./docs/2025-10-18_MODULAR_STRUCTURE.md) - Architecture overview
|
- [Modular Structure](./docs/2025-10-18_MODULAR_STRUCTURE.md) - Architecture overview
|
||||||
- [Migration History](./docs/MIGRATION_HISTORY.md) - TypeScript & shadcn/ui migration
|
- [Migration History](./docs/MIGRATION_HISTORY.md) - TypeScript & shadcn/ui migration
|
||||||
- [Dev Container Setup](./docs/README.devcontainer.md) - WSL2/Podman configuration
|
- [Dev Container Setup](./docs/README.devcontainer.md) - Linux/WSL2 docker configuration
|
||||||
|
|
||||||
## 📄 License
|
## 📄 License
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,21 @@
|
|||||||
# 🛠️ Dev Container Setup for `med-plan-assistant` (React App in WSL2 with Podman)
|
# 🛠️ Dev Container Setup for `med-plan-assistant` (React App in WSL2 with Podman)
|
||||||
|
|
||||||
This guide documents the working setup for running the `med-plan-assistant` React project inside a VSCode dev container using **WSL2** and **Podman** (no Docker Desktop). It assumes:
|
This guide documents the working setup for running the `med-plan-assistant` React project inside a VSCode dev container using **Ubuntu Linux** and **Docker**. or optionally WSL2 and/or Podman. It assumes the following for the linux host (or optionally WSL):
|
||||||
|
|
||||||
- WSL2 is installed and configured
|
- Ubuntu Linux is istalled and configured
|
||||||
- VSCode is installed with the **Dev Containers** extension on windows host and in WSL
|
- VSCode is installed with the **Dev Containers** extension on the host system
|
||||||
- The project repo is located at `~/git/med-plan-assistant` inside WSL
|
- The project repo is located in `~/git/med-plan-assistant`
|
||||||
|
|
||||||
## 📦 1. Install Podman in WSL (Ubuntu)
|
## 📦 1. Install Docker Service in Ubuntu
|
||||||
|
|
||||||
|
### Using Docker.IO
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get install -y docker.io
|
||||||
|
sudo usermod -a -G docker $(whoami)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Optional: Using Podman (over Docker.IO)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt update
|
sudo apt update
|
||||||
@@ -19,9 +28,13 @@ podman --version
|
|||||||
#sudo usermod -a -G uucp $(whoami)
|
#sudo usermod -a -G uucp $(whoami)
|
||||||
```
|
```
|
||||||
|
|
||||||
## ⚙️ 2. Enable systemd and Podman socket
|
_Also see: [Podman installation guide](https://podman.io/getting-started/installation)_
|
||||||
|
|
||||||
Edit `/etc/wsl.conf`:
|
## ⚙️ 2. Optional: Using WSL2
|
||||||
|
|
||||||
|
Additional steps when using WSL2 on Windows.
|
||||||
|
|
||||||
|
Enable systemd for WSL2 adding the following settings to `/etc/wsl.conf`:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[boot]
|
[boot]
|
||||||
@@ -32,8 +45,11 @@ Then restart WSL:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
wsl --shutdown
|
wsl --shutdown
|
||||||
|
wsl
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Optional: Using Podman (over Docker.IO)
|
||||||
|
|
||||||
Enable Podman socket:
|
Enable Podman socket:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -77,7 +93,10 @@ Verify:
|
|||||||
#curl --unix-socket /run/user/1000/podman/podman.sock http://localhost/_ping
|
#curl --unix-socket /run/user/1000/podman/podman.sock http://localhost/_ping
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🧠 3. Configure Podman registry (to avoid interactive prompts)
|
_Also see [Podman for Windows](https://github.com/containers/podman/blob/main/docs/tutorials/podman-for-windows.md)._
|
||||||
|
|
||||||
|
|
||||||
|
## 🧠 3. Configure Docker registry (to avoid interactive prompts)
|
||||||
|
|
||||||
Edit or create `~/.config/containers/registries.conf`:
|
Edit or create `~/.config/containers/registries.conf`:
|
||||||
|
|
||||||
@@ -88,6 +107,8 @@ registries = ["docker.io"]
|
|||||||
|
|
||||||
## 🧰 4. Create .devcontainer Setup
|
## 🧰 4. Create .devcontainer Setup
|
||||||
|
|
||||||
|
This is allready pre-configured in the repo, but in case you want to set it up manually, follow these steps as a starting point.
|
||||||
|
|
||||||
Create `.devcontainer` folder in project root:
|
Create `.devcontainer` folder in project root:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -152,7 +173,7 @@ USER $USERNAME
|
|||||||
|
|
||||||
## 🚀 5. Reopen in Container
|
## 🚀 5. Reopen in Container
|
||||||
|
|
||||||
In WSL terminal navigate to project folder and open in VSCode:
|
Open the project directory in VSCode (in Ubuntu/WSL2):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/git/med-plan-assistant
|
cd ~/git/med-plan-assistant
|
||||||
@@ -181,9 +202,11 @@ Live reload and port forwarding should work automatically.
|
|||||||
|
|
||||||
## 🧩 Notes
|
## 🧩 Notes
|
||||||
|
|
||||||
### 📁 WSL Filesystem Performance
|
### 🪟 When Using WSL2
|
||||||
|
|
||||||
Performance is significantly better on native WSL filesystem (ext4) vs NTFS (/mnt/c/...). If you previously worked on NTFS, move or clone the repo to WSL filesystem:
|
#### Filesystem Performance
|
||||||
|
|
||||||
|
Performance is significantly better on native WSL2 filesystem (ext4) vs NTFS (/mnt/c/...). If you previously worked on NTFS, move or clone the repo to WSL2 filesystem:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/myusername/med-plan-assistant.git ~/git/med-plan-assistant
|
git clone https://github.com/myusername/med-plan-assistant.git ~/git/med-plan-assistant
|
||||||
@@ -212,5 +235,8 @@ Down to under 2 seconds on ext4 (`/home`):
|
|||||||
|
|
||||||
### 🧠 Troubleshooting
|
### 🧠 Troubleshooting
|
||||||
|
|
||||||
- Podman socket not active: check `systemctl --user status podman.socket`
|
|
||||||
- Dev container build hangs: check registry config and _Dev Containers_ log
|
- Dev container build hangs: check registry config and _Dev Containers_ log
|
||||||
|
|
||||||
|
#### When Using Podman
|
||||||
|
|
||||||
|
- Podman socket not active: check `systemctl --user status podman.socket`
|
||||||
|
|||||||
Reference in New Issue
Block a user