Click **Add Container** at the bottom of the page.
### Step 3 — Fill in Basic Settings
| Field | Value |
|---|---|
| **Name** | `codedump` |
| **Repository** | `your-registry/codedump:latest`*(or build locally — see below)* |
| **Network Type** | `bridge` |
| **Console shell command** | `sh` |
> **Building locally:** If you cloned this repo to Unraid, open a terminal and run:
> ```bash
> cd /path/to/ai-tools-dashboard
> docker build -t codedump:local .
> ```
> Then set **Repository** to `codedump:local`.
### Step 4 — Port Mapping
Click **Add another Path, Port, Variable, Label or Device** → **Port**.
| Field | Value |
|---|---|
| **Name** | `WebUI` |
| **Container Port** | `3000` |
| **Host Port** | `3000`*(or any open port on your Unraid server)* |
| **Connection Type** | `TCP` |
### Step 5 — Volume (Persistent Data)
Click **Add another Path, Port, Variable, Label or Device** → **Path**.
| Field | Value |
|---|---|
| **Name** | `Data` |
| **Container Path** | `/data` |
| **Host Path** | `/mnt/user/appdata/codedump` |
| **Access Mode** | `Read/Write` |
> This single volume stores the **SQLite database**, all **uploaded files**, and **user accounts**.
> Unraid creates the directory automatically on first run.
### Step 6 — Environment Variables {#variables}
For each variable, click **Add another Path, Port, Variable, Label or Device** → **Variable**.
| Variable | Default | Required | Description |
|---|---|---|---|
| `PORT` | `3000` | No | Port the app listens on inside the container. Match to your Container Port above. |
| `DATA_DIR` | `/data` | No | Path inside the container for persistent data. Do not change unless you remapped the volume. |
| `MAX_UPLOAD_MB` | `50` | No | Maximum upload size in MB for documents and logos. |
| `ADMIN_USERNAME` | `admin` | **Yes** | Username for the bootstrap admin account. Set this before first launch. |
| `ADMIN_PASSWORD` | `codedump2024` | **Yes** | Password for the bootstrap admin account. **Change this to something strong.** |
| `JWT_SECRET` | *(insecure default)* | **Yes** | Secret used to sign login tokens. Set to a long random string (32+ chars). |
> **Security note:** `ADMIN_PASSWORD` and `JWT_SECRET` must be changed from their defaults before exposing CODEDUMP to your network. The bootstrap admin is only created once — changing `ADMIN_PASSWORD` after first launch has no effect on the existing account (use the Admin → Users page instead).
### Step 7 — WebUI Link (Optional but Recommended)