Files
website/apps/docs
Mauricio Siu 4bca945f3c fix: exclude Docker-created interfaces from swarm advertise address detection
The install script's get_private_ip() fallback picked the first RFC1918
address from `ip addr show`, which matches the docker0 bridge (172.17.0.1)
when Docker is already installed — an address other swarm nodes can never
reach. Exclude docker0/br-*/veth* interfaces so a real host/VPN interface
wins, and fall back to the public IP when no private interface exists
(e.g. servers with only a public IP).

Verified end-to-end in Ubuntu 24.04 and Debian 13 containers (Docker
pre-installed, WireGuard-like interface, public IP on eth0), plus the
detection logic on Debian 12, AlmaLinux 9, Fedora 44 and openSUSE Leap 15.6.

Fixes #153

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 04:59:44 -06:00
..

Dokploy Documentation (New)

This is a fresh Fumadocs project with the complete Dokploy documentation migrated from the old docs project.

Features

  • Modern Fumadocs Setup - Built with the latest Fumadocs version
  • 🎨 Ocean Theme - Beautiful ocean-themed UI
  • 📱 Responsive Design - Works perfectly on all devices
  • 🔍 Advanced Search - Built-in search functionality
  • 🌙 Dark Mode - Full dark mode support
  • 📚 Complete Documentation - All docs migrated including:
    • Core documentation
    • API references
    • CLI documentation
    • Remote Servers section
    • Examples and tutorials

Getting Started

Development

Run the development server:

# From workspace root
pnpm docs-new:dev

# Or from this directory
pnpm dev

The site will be available at http://localhost:3000

Build

Build the documentation for production:

# From workspace root
pnpm docs-new:build

# Or from this directory
pnpm build

Type Checking

Run type checking:

# From workspace root
pnpm docs-new:typecheck

# Or from this directory
pnpm run types:check

Structure

apps/docs-new/
├── app/                    # Next.js app directory
│   ├── (home)/            # Home page
│   ├── docs/              # Documentation pages
│   │   ├── [[...slug]]/   # Dynamic doc pages
│   │   └── layout.tsx     # Docs layout
│   ├── api/               # API routes
│   └── layout.tsx         # Root layout
├── content/               # MDX documentation content
│   └── docs/              # All documentation files
├── lib/                   # Utilities
│   ├── source.ts          # Content source configuration
│   └── layout.shared.tsx  # Shared layout options
├── public/                # Static assets
└── source.config.ts       # Fumadocs configuration

Customization

Theme

The project uses the Ocean theme. To change it, edit app/global.css:

@import 'fumadocs-ui/css/ocean.css'; /* Change this to another theme */

Available themes: neutral, black, vitepress, dusk, catppuccin, ocean, purple

Layout Configuration

Edit lib/layout.shared.tsx to customize:

  • Navigation title
  • Links
  • GitHub URL
  • Other layout options

Content

Add or edit documentation in the content/docs/ directory. The structure follows Fumadocs conventions with meta.json files for navigation.

Key Differences from Old Docs

  1. Modern API - Uses fumadocs-mdx:collections/server instead of legacy approach
  2. Better Type Safety - Full TypeScript support with proper types
  3. Simpler Configuration - Less boilerplate, more conventions
  4. Built-in Features - Search, OG images, and more work out of the box
  5. No Build Errors - Clean slate without legacy issues

Documentation

Notes

  • The .source directory is auto-generated - don't edit it manually
  • Run pnpm run postinstall after making changes to content structure
  • Restart dev server after adding new MDX files