Your Intelligent Self-Hosted Deployment Suite
Skip the configuration hassle. Import any project, get deployment-ready instantly.
β οΈ HEAVY DEVELOPMENT - This project is in active development. Expect breaking changes, incomplete features, and evolving APIs. Contributions welcome but use in production at your own risk.
Features β’ Quick Start β’ Documentation β’ Contributing
DXLander is a self-hosted platform that lets you test and deploy any project without the configuration headache. Import a repo or upload a project, and DXLander automatically detects frameworks, analyzes dependencies, generates deployment configs (Docker, K8s, etc.), and can deploy to your preferred platform or service all out of the box.
- Exploring random GitHub projects - Test and deploy any project in minutes
- Zero-configuration deployment - From import to production automatically
- Self-managed control - Your infrastructure, your data, your rules
- AI-powered intelligence - Smart framework detection and optimal config generation
Generated production-ready Docker configurations with multi-stage builds, syntax highlighting, and deployment recommendations
- Multiple Import Methods:
- GitHub repositories (public & private with PAT)
- ZIP file upload with drag & drop
- GitLab/Bitbucket (coming soon)
- Duplicate Detection: SHA256 hashing prevents re-importing same project
- Real-time Dashboard: Status-based filtering, search, and organization
DXLander supports two database options:
- Simple file-based database
- No setup required
- Perfect for development and small deployments
- Automatically created on first run
- Production-ready relational database
- Better for multi-user environments
- Requires PostgreSQL server
- Framework Detection: Next.js, React, Vue, Python, Go, and more
- Dependency Analysis: Reads package.json, requirements.txt, Cargo.toml, etc.
- Environment Variable Detection: Scans for required API keys and configurations
- Build Command Inference: Generates appropriate build and start commands
- Real-time Progress Tracking: Watch AI analyze your project in real-time
- Multiple Configuration Types:
- Docker (single container deployments)
- Docker Compose (multi-service applications)
- Kubernetes (production-grade orchestration)
- Bash scripts (deployment automation)
- Configuration Editor: Edit, version, and manage generated configs
- Visual File Viewer: Tabbed interface with syntax highlighting
- Change Detection: Track modifications with reset-to-original capability
- Version History: Track all configuration versions over time
- Secure Credential Storage: AES-256-GCM encrypted storage.
- JWT Authentication: Secure API access with token-based auth
- Role-Based Access Control: Admin and user roles
- Per-User Encryption Keys: Individual security per user account
- Next.js 15 with App Router + React 19
- TailwindCSS v4
- shadcn/ui components (ocean-themed)
- tRPC for end-to-end type safety
- Hono
- Node.js 18+
- tRPC
- Storage: Local file system (
~/.dxlander/projects/) - Package Manager: pnpm workspaces
- Node.js 18+ (for npm/source installation)
- pnpm (for development)
- Docker (optional, for containerized deployment)
# Run directly without installation
npx dxlander
# Or install globally
npm install -g dxlander
dxlander# Pull and run the latest version
docker pull ghcr.io/dxlander/dxlander:latest
docker run -d \
-p 3000:3000 \
-p 3001:3001 \
-v dxlander-data:/app/.dxlander \
--name dxlander \
ghcr.io/dxlander/dxlander:latest
# Access at http://localhost:3000Data Persistence
Your data is automatically stored in the dxlander-data volume:
- Database:
/app/.dxlander/data/dxlander.db - Projects:
/app/.dxlander/projects/ - Encryption keys:
/app/.dxlander/encryption.key
Useful Commands
# View logs
docker logs -f dxlander
# Stop the container
docker stop dxlander
# Restart the container
docker restart dxlander
# Remove the container
docker rm -f dxlander
# Backup your data
docker run --rm -v dxlander-data:/data -v $(pwd):/backup alpine \
tar czf /backup/dxlander-backup.tar.gz -C /data .# 1. Clone repository
git clone https://github.com/dxlander/dxlander.git
cd dxlander
# 2. Install dependencies
pnpm install
# 3. Start development servers
pnpm dev
# Frontend: http://localhost:3000
# Backend: http://localhost:3001
# Database: ~/.dxlander/data/dxlander.dbOn first launch, you'll see the Setup Wizard:
- Welcome - Introduction to DXLander
- Admin Account - Create your first admin user
- Quick Start - Click "Use Defaults" for instant setup:
- Email:
admin@dxlander.local - Password:
admin123456 - SQLite database configured
- Ready in seconds!
- Email:
pnpm dev # Start both frontend and backend
pnpm dev:web # Start only frontend (Next.js)
pnpm dev:api # Start only backend (Hono)pnpm build # Build all packages and apps
pnpm build:web # Build frontend only
pnpm build:api # Build backend only# Linting & Formatting
pnpm lint # Lint all code
pnpm lint:fix # Auto-fix linting issues
pnpm format # Format code with Prettier
pnpm format:check # Check formatting
pnpm typecheck # TypeScript type checking
# Testing
pnpm test # Run all tests
pnpm test:unit # Run unit tests only
pnpm test:integration # Run integration tests only
pnpm test:e2e # Run end-to-end tests only
pnpm test:ui # Run tests with Vitest UIDXLander is open-source and welcomes contributions!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our code quality standards
- Test your changes (
pnpm test) - Lint and format (
pnpm lint:fix && pnpm format) - Commit your changes (pre-commit hooks will run automatically)
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request using our PR template
All PRs must pass automated checks:
- β ESLint (no errors or warnings)
- β Prettier (code properly formatted)
- β TypeScript (no type errors)
- β Tests (all tests passing)
- β Build (successful build)
tests/
βββ unit/ # Unit tests for individual components and functions
β βββ apps/ # App-specific unit tests
β βββ web/ # Web app unit tests
β βββ components/
βββ integration/ # Integration tests for API endpoints
β βββ projects/ # Project-specific integration tests
βββ e2e/ # End-to-end tests (coming soon)
See our Development Workflow Guide for details.
DXLander is source-available under the Sustainable Use License.
What this means:
- β Free to use and self-host
- β Free for internal business use
- β Contributions welcome
- β Cannot offer as a paid service without permission
Questions about licensing? Open an issue or reach out to the maintainers.
- GitHub (public & private repositories)
- ZIP uploads (drag & drop support)
- Coming Soon: GitLab
- Coming Soon: Bitbucket
- Coming Soon: Git URL (generic Git repositories)
- Vercel - Serverless deployments
- Railway - Full-stack applications
- Netlify - Static sites & functions
- Docker - Local & remote containers
- Fly.io - Global edge deployments
- Render - Web services & databases
- Others
# NPM - Try DXLander instantly
npx dxlander
# Docker - Run in container
docker run -p 3000:3000 -p 3001:3001 ghcr.io/dxlander/dxlander:latest
# Docker Compose - Full setup
docker compose up -d
# Development
pnpm install && pnpm dev
# Build for production
pnpm build
# Type checking
pnpm typecheck
# Linting
pnpm lint- Documentation: Check
/documentationfolder - Discussions: GitHub Discussions
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Issues
- Star the repository
- Watch for releases
- Follow for updates
DXLander is open source and welcomes contributions! This project is in heavy development, so there are many opportunities to contribute.
- Bug Reports: Found an issue? Open a GitHub issue
- Feature Requests: Have an idea? Submit a GitHub issue with your suggestion
- Documentation: Help improve our docs
- Testing: Test the application and report issues
- Code: Submit pull requests for bug fixes or new features
Check the Features Overview for what's complete and what's in progress.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/dxlander.git - Follow the development setup instructions
- Create a feature branch:
git checkout -b feature-name - Make your changes and test thoroughly
- Submit a pull request
Please be respectful and constructive in all interactions
Contributing β’ License


