initial design fix
This commit is contained in:
+164
-84
@@ -1,105 +1,185 @@
|
||||
# Install and Copy Guide
|
||||
# Unraid Install Guide — CODEDUMP
|
||||
|
||||
Use this guide to copy the instruction suite into another repository without bloating the destination or confusing the agent.
|
||||
## Prerequisites
|
||||
|
||||
## Recommended Install
|
||||
- Unraid 6.10 or later
|
||||
- Docker enabled (default on all modern Unraid installs)
|
||||
- Community Applications plugin installed (recommended, not required)
|
||||
|
||||
Copy these items into the target repository root:
|
||||
---
|
||||
|
||||
- `AGENTS.md`
|
||||
- `DEPLOYMENT-PROFILE.md`
|
||||
- `SKILLS.md`
|
||||
- `PROJECT-PROFILE-WORKBOOK.md`
|
||||
- `ROUTING-EXAMPLES.md`
|
||||
- `hubs/`
|
||||
- `skills/`
|
||||
## Option A — Community Applications (Easiest)
|
||||
|
||||
Optional:
|
||||
> Use this if you have the CA plugin installed.
|
||||
|
||||
- `README.md` if you want human-facing explanation of the bundle in the destination repo
|
||||
1. Open the **Apps** tab in the Unraid web UI.
|
||||
2. Search for **CODEDUMP**.
|
||||
3. Click **Install** and fill in the variables described in the [Variables](#variables) section below.
|
||||
4. Click **Apply**.
|
||||
|
||||
## Fast Copy Workflow
|
||||
---
|
||||
|
||||
From this repository root, copy the suite into another repo root while excluding `.git`:
|
||||
## Option B — Manual Docker Container (No CA Plugin)
|
||||
|
||||
```powershell
|
||||
Copy-Item AGENTS.md,DEPLOYMENT-PROFILE.md,SKILLS.md,PROJECT-PROFILE-WORKBOOK.md,ROUTING-EXAMPLES.md -Destination <target-repo>
|
||||
Copy-Item hubs -Destination <target-repo> -Recurse
|
||||
Copy-Item skills -Destination <target-repo> -Recurse
|
||||
### Step 1 — Open the Docker tab
|
||||
|
||||
In the Unraid web UI, click **Docker** in the top navigation bar.
|
||||
|
||||
### Step 2 — Add a new container
|
||||
|
||||
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)
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **WebUI** | `http://[IP]:[PORT:3000]` |
|
||||
|
||||
This adds a clickable **WebUI** button on the Docker tab.
|
||||
|
||||
### Step 8 — Apply
|
||||
|
||||
Click **Apply**. Unraid will pull/build the image and start the container.
|
||||
|
||||
---
|
||||
|
||||
## First Launch & Login
|
||||
|
||||
1. Open `http://YOUR-UNRAID-IP:3000` in your browser.
|
||||
2. You will be redirected to the **login page**.
|
||||
3. Click **Admin Login** at the bottom of the login screen.
|
||||
4. Enter the `ADMIN_USERNAME` and `ADMIN_PASSWORD` you set in the environment variables.
|
||||
5. Once in, navigate to **Admin → Users** to create user accounts for your team.
|
||||
|
||||
### User Account Types
|
||||
|
||||
| Type | Login Method | Access |
|
||||
|---|---|---|
|
||||
| **Admin** | Username + Password | Full access including Settings and User Management |
|
||||
| **User** | Select name → 4-digit PIN | Projects, Tools, Documents — all read/write |
|
||||
|
||||
### Creating Users (Admin only)
|
||||
|
||||
1. Click **Users** in the sidebar (Admin section).
|
||||
2. Click **New User**.
|
||||
3. Enter a username, select role **User**, and assign a **4-digit PIN**.
|
||||
4. The user's name will appear on the login screen — they select it and enter their PIN.
|
||||
|
||||
---
|
||||
|
||||
## Updating
|
||||
|
||||
### Registry image:
|
||||
1. Go to **Docker** tab → click the container icon → **Update** (or Force Update).
|
||||
2. The `/data` volume is preserved — database, uploads, and user accounts are safe.
|
||||
|
||||
### Locally built image:
|
||||
```bash
|
||||
cd /path/to/ai-tools-dashboard
|
||||
git pull
|
||||
docker build -t codedump:local .
|
||||
```
|
||||
Then restart the container from the Unraid Docker tab.
|
||||
|
||||
---
|
||||
|
||||
## Backup
|
||||
|
||||
Everything lives in one directory:
|
||||
|
||||
```
|
||||
/mnt/user/appdata/codedump/
|
||||
├── dashboard.db ← SQLite database (projects, tools, settings, users)
|
||||
└── uploads/ ← Uploaded files (logos, markdown docs)
|
||||
```
|
||||
|
||||
If you also want the explanatory readme:
|
||||
Back this up with Unraid's **Appdata Backup** plugin or any solution that covers `/mnt/user/appdata`.
|
||||
|
||||
```powershell
|
||||
Copy-Item README.md -Destination <target-repo>
|
||||
---
|
||||
|
||||
## Generating a Strong JWT_SECRET
|
||||
|
||||
Run this in an Unraid terminal or any Linux shell:
|
||||
|
||||
```bash
|
||||
openssl rand -hex 32
|
||||
```
|
||||
|
||||
## Prefill Workflow
|
||||
Paste the output as the value of `JWT_SECRET`.
|
||||
|
||||
Before deployment:
|
||||
---
|
||||
|
||||
1. Fill out `PROJECT-PROFILE-WORKBOOK.md`.
|
||||
2. Translate the answers into agent-facing defaults in `DEPLOYMENT-PROFILE.md`.
|
||||
3. Keep the deployment profile concise so it can be read early without wasting context.
|
||||
4. Copy the suite with the filled-in deployment profile included.
|
||||
## Port Conflicts
|
||||
|
||||
At runtime:
|
||||
Change **Host Port** to an unused port (e.g. `3100`) and update the WebUI link to match.
|
||||
|
||||
1. The agent reads `AGENTS.md`.
|
||||
2. The agent reads `DEPLOYMENT-PROFILE.md` if it is filled in.
|
||||
3. The agent reads `SKILLS.md`.
|
||||
4. The agent opens the relevant hub and specialized skill files only as needed.
|
||||
---
|
||||
|
||||
## Minimal Install
|
||||
## Troubleshooting
|
||||
|
||||
If the target repository wants the smallest useful setup, copy:
|
||||
| Symptom | Fix |
|
||||
|---|---|
|
||||
| Stuck on login / "Session expired" | Clear browser localStorage and reload. |
|
||||
| "No user accounts yet" on login | Log in as admin first, then create users via Admin → Users. |
|
||||
| Admin can't log in after reinstall | If `/data` was wiped, bootstrap re-runs on next start using the current env vars. |
|
||||
| Container exits immediately | Check Docker logs — usually a permissions issue on `/data`. |
|
||||
| Can't upload files | Verify `MAX_UPLOAD_MB` and that the host path is writable. |
|
||||
| Blank page / 404 | Wait 15 seconds after start, then refresh. |
|
||||
|
||||
- `AGENTS.md`
|
||||
- `DEPLOYMENT-PROFILE.md`
|
||||
- `SKILLS.md`
|
||||
- `hubs/`
|
||||
- only the skill files the team expects to use often
|
||||
|
||||
Good minimal baseline:
|
||||
|
||||
- `skills/software/repo-exploration.md`
|
||||
- `skills/software/feature-implementation.md`
|
||||
- `skills/software/test-strategy.md`
|
||||
- `skills/software/code-review.md`
|
||||
- `skills/debugging/bug-triage.md`
|
||||
- `skills/debugging/debugging-workflow.md`
|
||||
- `skills/documentation/technical-docs.md`
|
||||
- `skills/ui-ux/ux-review.md`
|
||||
|
||||
## How To Customize Safely
|
||||
|
||||
- Keep `AGENTS.md` short and stable; put detail in hubs and skill files.
|
||||
- Add repo-specific instructions near the top of `AGENTS.md` or in existing repo instruction files.
|
||||
- Treat `DEPLOYMENT-PROFILE.md` as the canonical place for staged build, tool, environment, and workflow defaults.
|
||||
- Prefer editing hub routing before adding more root-level rules.
|
||||
- Add new skill files only when they introduce a distinct workflow, risk area, or deliverable.
|
||||
- If two skills overlap heavily, merge them or make the routing distinction explicit.
|
||||
|
||||
## Context Limit Guidance
|
||||
|
||||
- Do not instruct the agent to load the entire `skills/` tree on every task.
|
||||
- Keep the default path to one hub plus two to four specialized skills.
|
||||
- Reserve four to six skills for large cross-functional tasks.
|
||||
- Use the routing examples to confirm the suite still routes clearly after customization.
|
||||
|
||||
## Updating The Bundle
|
||||
|
||||
- Pull improvements from this source repository into destination repos periodically.
|
||||
- Refill the workbook and refresh the deployment profile when your preferred defaults change materially.
|
||||
- Review local customizations before overwriting shared files.
|
||||
- If a destination repo has stronger local conventions, keep those and treat this suite as the fallback layer.
|
||||
|
||||
## Suggested Verification After Copying
|
||||
|
||||
Check that the destination repo can answer these questions clearly:
|
||||
|
||||
1. Where does the agent start? `AGENTS.md`
|
||||
2. Where does the agent get preloaded defaults? `DEPLOYMENT-PROFILE.md`
|
||||
3. Where does the agent look for available skills? `SKILLS.md`
|
||||
4. How does the agent decide what to read next? Deployment profile, hubs, and routing examples
|
||||
5. Does the repo still prioritize local instructions over the generic bundle? It should
|
||||
View container logs: **Docker tab** → click the container icon → **Logs**.
|
||||
|
||||
Reference in New Issue
Block a user