Full codebase including API server (32 modules + routes), dashboard frontend, DashCA certificate distribution, installer script, and deployment skills.
4.5 KiB
4.5 KiB
DashCaddy Installer - Quick Start
For Developers
Setup & Run
# 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
- Download the DashCaddy Installer executable
- Run the installer (no installation required - it's portable)
- 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:
-
Stop services:
cd C:\DashCaddy docker compose down taskkill /IM caddy.exe /F -
Delete installation directory:
rmdir /s C:\DashCaddy
Next Steps
After installation:
- Add Services: Click "+" to deploy Docker containers
- Configure DNS: Set up custom domains (optional)
- Import Existing: Import services from other systems
- 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
# 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.jsandstyles.css - Logic:
src/main/index.js(IPC handlers) - Deployment:
src/main/file-deployer.js - Config:
src/main/caddyfile-generator.js
Adding Features
- Add IPC handler in
src/main/index.js - Expose in
src/preload/index.js - Call from
src/renderer/wizard.js - Update UI in
styles.cssif 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