Full codebase including API server (32 modules + routes), dashboard frontend, DashCA certificate distribution, installer script, and deployment skills.
185 lines
4.5 KiB
Markdown
185 lines
4.5 KiB
Markdown
# DashCaddy Installer - Quick Start
|
|
|
|
## For Developers
|
|
|
|
### Setup & Run
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Run in development mode
|
|
npm start
|
|
|
|
# Build for Windows
|
|
npm run build:win
|
|
```
|
|
|
|
The built installer will be at: `dist/win-unpacked/DashCaddy Installer.exe`
|
|
|
|
## For End Users
|
|
|
|
### Running the Installer
|
|
|
|
1. **Download** the DashCaddy Installer executable
|
|
2. **Run** the installer (no installation required - it's portable)
|
|
3. **Follow** the 5-step wizard:
|
|
|
|
#### Step 1: Welcome
|
|
- Review features and system requirements
|
|
- Confirm detected platform
|
|
|
|
#### Step 2: Choose Folders
|
|
- Select installation directory (default: `C:\DashCaddy`)
|
|
- Optionally customize Docker data and Caddy config paths
|
|
- Click **Next**
|
|
|
|
#### Step 3: Check Dependencies
|
|
- Installer checks for Docker and Caddy
|
|
- If missing, click **Install** buttons to install them
|
|
- Wait for installation to complete
|
|
- Click **Install** when both are ready
|
|
|
|
#### Step 4: Installation
|
|
- Watch progress as DashCaddy is installed
|
|
- Files are copied and configured automatically
|
|
- Takes 1-3 minutes depending on system
|
|
|
|
#### Step 5: Complete
|
|
- Installation successful!
|
|
- Click **Open Dashboard** to launch DashCaddy
|
|
- Dashboard opens at `http://localhost:8080`
|
|
|
|
### What Gets Installed
|
|
|
|
The installer creates this structure:
|
|
|
|
```
|
|
C:\DashCaddy\
|
|
├── dashboard\ # Web dashboard files
|
|
├── api\ # API server
|
|
├── docker-data\ # Docker volumes
|
|
├── caddy\ # Caddy configuration
|
|
├── Caddyfile # Reverse proxy config
|
|
├── docker-compose.yml # Container orchestration
|
|
└── .dashcaddy-config.json # Installation settings
|
|
```
|
|
|
|
### System Requirements
|
|
|
|
- **OS**: Windows 10/11, macOS 10.15+, or Linux
|
|
- **RAM**: 4GB minimum, 8GB recommended
|
|
- **Disk**: 2GB free space
|
|
- **Docker**: Required (installer can install)
|
|
- **Caddy**: Required (installer can install)
|
|
|
|
### Accessing DashCaddy
|
|
|
|
After installation:
|
|
|
|
- **Dashboard**: http://localhost:8080
|
|
- **API**: http://localhost:3001
|
|
- **Caddy Admin**: http://localhost:2021
|
|
|
|
### Troubleshooting
|
|
|
|
#### Installer Won't Start
|
|
- Ensure you have administrator/sudo privileges
|
|
- Check antivirus isn't blocking the installer
|
|
- Try running as administrator (Windows)
|
|
|
|
#### Dependencies Won't Install
|
|
- Check internet connection
|
|
- Manually install Docker from docker.com
|
|
- Manually install Caddy from caddyserver.com
|
|
|
|
#### Dashboard Won't Open
|
|
- Check if Caddy is running: `caddy version`
|
|
- Check if Docker is running: `docker ps`
|
|
- Verify port 8080 isn't in use
|
|
- Check installation logs
|
|
|
|
#### Services Not Starting
|
|
- Ensure Docker daemon is running
|
|
- Check firewall settings
|
|
- Verify installation paths are correct
|
|
|
|
### Uninstalling
|
|
|
|
To remove DashCaddy:
|
|
|
|
1. Stop services:
|
|
```bash
|
|
cd C:\DashCaddy
|
|
docker compose down
|
|
taskkill /IM caddy.exe /F
|
|
```
|
|
|
|
2. Delete installation directory:
|
|
```bash
|
|
rmdir /s C:\DashCaddy
|
|
```
|
|
|
|
### Next Steps
|
|
|
|
After installation:
|
|
|
|
1. **Add Services**: Click "+" to deploy Docker containers
|
|
2. **Configure DNS**: Set up custom domains (optional)
|
|
3. **Import Existing**: Import services from other systems
|
|
4. **Customize**: Change themes, logos, and settings
|
|
|
|
### Getting Help
|
|
|
|
- **Documentation**: Check README.md in installation directory
|
|
- **Logs**: View container logs in dashboard
|
|
- **Support**: Open GitHub issue for bugs
|
|
|
|
## Development Notes
|
|
|
|
### Testing the Installer
|
|
|
|
```bash
|
|
# Run with DevTools for debugging
|
|
npm run dev
|
|
|
|
# Test specific functionality
|
|
npm test
|
|
|
|
# Build and test portable exe
|
|
npm run build:win
|
|
./dist/win-unpacked/DashCaddy\ Installer.exe
|
|
```
|
|
|
|
### Modifying the Installer
|
|
|
|
Key files to edit:
|
|
|
|
- **UI**: `src/renderer/wizard.js` and `styles.css`
|
|
- **Logic**: `src/main/index.js` (IPC handlers)
|
|
- **Deployment**: `src/main/file-deployer.js`
|
|
- **Config**: `src/main/caddyfile-generator.js`
|
|
|
|
### Adding Features
|
|
|
|
1. Add IPC handler in `src/main/index.js`
|
|
2. Expose in `src/preload/index.js`
|
|
3. Call from `src/renderer/wizard.js`
|
|
4. Update UI in `styles.css` if needed
|
|
|
|
## Tips
|
|
|
|
- **Portable**: The Windows .exe is fully portable - no installation needed
|
|
- **Upgrades**: Installer detects existing installations and can upgrade
|
|
- **Backups**: Installation config saved in `.dashcaddy-config.json`
|
|
- **Logs**: Check console with DevTools (Ctrl+Shift+I in dev mode)
|
|
|
|
## What's Next?
|
|
|
|
After successful installation, explore:
|
|
|
|
- **App Templates**: 50+ pre-configured applications
|
|
- **DNS Integration**: Set up local domains with Cloudflare
|
|
- **Monitoring**: Real-time service health checks
|
|
- **Backups**: Export/import dashboard configurations
|