diff --git a/src/app/docs/page.tsx b/src/app/docs/page.tsx index bcacd3c..9441a53 100644 --- a/src/app/docs/page.tsx +++ b/src/app/docs/page.tsx @@ -1,389 +1,340 @@ -'use client'; - -import Link from 'next/link'; -import Navbar from '@/components/Navbar'; -import Footer from '@/components/Footer'; - -export default function DocsPage() { - return ( -
- Get DashCaddy up and running on your server in just a few minutes. -
-- Before you begin, ensure you have the following installed on your server: -
-Version 20.10+ required. Install Docker
-Version 2.7+ required. Install Caddy
-Version 18+ required. Install Node.js
-For cloning the repository. Install Git
-For automatic DNS management. If not installed, you can still manage DNS manually.
-- Follow these steps to install DashCaddy on your server: -
- - {/* Step 1 */} -
- git clone https://github.com/dashcaddy/dashcaddy.git
-
- cd dashcaddy
-
- Install Node.js dependencies:
-
- npm install
-
- Copy the example environment file and customize it:
-
- cp .env.example .env
-
- Then edit .env with your configuration:
-{`# Server
-PORT=3000
-NODE_ENV=production
-
-# Database (optional - defaults to SQLite)
-DATABASE_URL=sqlite:./data/dashcaddy.db
-
-# Security
-JWT_SECRET=your-secure-random-secret-here
-SESSION_SECRET=another-secure-random-secret
-
-# Caddy
-CADDY_PORT=80
-CADDY_HTTPS_PORT=443
-CADDY_ADMIN_LISTEN=localhost:2019
-
-# Technitium DNS (optional)
-TECHNITIUM_API_URL=http://localhost:5380/api
-TECHNITIUM_API_KEY=your-api-key
-
-# Email (optional - for notifications)
-SMTP_HOST=smtp.example.com
-SMTP_PORT=587
-SMTP_USER=your-email@example.com
-SMTP_PASSWORD=your-password`}
-
- Build the application:
-
- npm run build
-
- Start DashCaddy:
-
- npm start
-
-
- The application will be available at http://localhost:3000
-
Update your Caddy configuration to proxy requests to DashCaddy:
-
-{`dashcaddy.local {
- reverse_proxy localhost:3000
-
- # Enable automatic HTTPS
- encode gzip
-
- # Security headers
- header Strict-Transport-Security "max-age=31536000"
- header X-Content-Type-Options "nosniff"
- header X-Frame-Options "DENY"
-}`}
-
- - Key environment variables for DashCaddy configuration: -
- -The port DashCaddy runs on. Default: 3000
Secret key for JWT tokens. Generate a secure random string:
-openssl rand -hex 32
- Connection string for your database. Defaults to SQLite if not provided.
-Caddy admin API endpoint. Default: localhost:2019
URL to your Technitium DNS API. Optional for DNS management features.
-http://dashcaddy.localMake sure the Docker daemon is started:
-sudo systemctl start docker
- Change the PORT in your .env file or stop the process using that port:
-lsof -i :3000
- Verify Caddy is running and the admin API is accessible:
-curl http://localhost:2019/config/
- Check that your DATABASE_URL is correct and the database is accessible. For SQLite, ensure the data directory exists:
-mkdir -p ./data
- DashCaddy uses Caddy's internal CA for certificate generation. If you have issues, check the Caddy logs:
-journalctl -u caddy -f
- Learn about all the powerful features DashCaddy offers.
-Full API documentation for developers.
-Check out our free and premium plans.
-Contact our support team for help.
-+ Self-host Docker apps in minutes. DNS, SSL, and routing handled automatically. +
+{apps}
+{desc}
+{body}
+or $99/year — all premium features
+{desc}
+