Lagt till dokumentation om uppsättning av dev miljö

This commit is contained in:
2026-06-02 01:57:17 +02:00
parent c0b3644076
commit 229a3c7383
+204
View File
@@ -0,0 +1,204 @@
# Development Environment Setup
This guide walks through installing everything needed to run Sloth Manager locally for development and testing, on both Windows 11 and Debian Linux.
---
## Windows 11
### 1. Install Node.js
Download and run the LTS installer from **https://nodejs.org** (choose "LTS").
Verify the installation:
```powershell
node --version
npm --version
```
Both commands should return a version number.
### 2. Install Git
Download and run the installer from **https://git-scm.com/download/win**.
Accept the defaults. When asked about the default editor, choose whichever you prefer.
Verify:
```powershell
git --version
```
### 3. Clone the repository
Open PowerShell or Windows Terminal:
```powershell
git clone https://your-gitea.com/youruser/sloth-manager.git
cd sloth-manager
```
### 4. Configure the backend
```powershell
cd backend
copy .env.example .env
notepad .env
```
Fill in your provider credentials. At minimum set a `JWT_SECRET`:
```
JWT_SECRET=any-long-random-string-for-dev
```
### 5. Install dependencies and start the backend
```powershell
npm install
npm run dev
```
The backend will start on `http://localhost:3001`. Leave this terminal open.
### 6. Configure and start the frontend
Open a second terminal window:
```powershell
cd frontend
copy .env.example .env
npm install
npm start
```
The browser will open automatically at `http://localhost:3000`.
### 7. First login
Log in with `admin` / `admin` and change the password immediately in **👤 My Profile**.
---
## Debian (12 Bookworm / 11 Bullseye)
### 1. Install Node.js
The version in Debian's default repositories is outdated. Install the current LTS via NodeSource:
```bash
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
```
Verify:
```bash
node --version
npm --version
```
### 2. Install Git
```bash
sudo apt update
sudo apt install -y git
```
Verify:
```bash
git --version
```
### 3. Clone the repository
```bash
git clone https://your-gitea.com/youruser/sloth-manager.git
cd sloth-manager
```
### 4. Configure the backend
```bash
cd backend
cp .env.example .env
nano .env
```
Fill in your provider credentials. At minimum set a `JWT_SECRET`:
```
JWT_SECRET=any-long-random-string-for-dev
```
### 5. Install dependencies and start the backend
```bash
npm install
npm run dev
```
The backend will start on `http://localhost:3001`. Leave this terminal open.
### 6. Configure and start the frontend
Open a second terminal:
```bash
cd frontend
cp .env.example .env
npm install
npm start
```
Open `http://localhost:3000` in your browser.
### 7. First login
Log in with `admin` / `admin` and change the password immediately in **👤 My Profile**.
---
## Verify everything is working
Once both services are running, confirm the following in the browser:
- The login page loads at `http://localhost:3000`
- After logging in, the Overview page shows the dashboard
- Selecting a provider and pressing **⟳ Sync** fetches records without errors
- **⚙️ Settings → Provider Status → Run Check** shows green for configured providers
---
## Stopping the development servers
Press `Ctrl+C` in each terminal to stop the backend and frontend.
---
## Useful development tips
**Backend auto-restarts** — nodemon watches for file changes and restarts the backend automatically. You do not need to restart it manually after editing backend files.
**Frontend hot-reloads** — the React dev server reloads the browser automatically when frontend files change.
**Nodemon and new files** — if you add a brand new file to the backend (not just edit an existing one), nodemon may not pick it up. Stop it with `Ctrl+C` and run `npm run dev` again.
**Viewing backend logs** — all errors and audit events are printed to the terminal running the backend.
**Data files** — in development, data files (`users.json`, `dns-cache.json`, etc.) are created in the `backend/` folder. These are gitignored and will not be committed.
---
## Summary of commands
| Task | Windows | Debian |
|------|---------|--------|
| Copy env file | `copy .env.example .env` | `cp .env.example .env` |
| Install deps | `npm install` | `npm install` |
| Start backend | `npm run dev` | `npm run dev` |
| Start frontend | `npm start` | `npm start` |
| Open app | `http://localhost:3000` | `http://localhost:3000` |