Initial commit: DashCaddy v1.0

Full codebase including API server (32 modules + routes), dashboard frontend,
DashCA certificate distribution, installer script, and deployment skills.
This commit is contained in:
2026-03-05 02:26:12 -08:00
commit f61e85d9a7
337 changed files with 75282 additions and 0 deletions

View File

@@ -0,0 +1,184 @@
# 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