VPS Setup Guide: DMIT Server + 3X-UI Configuration
Step-by-step tutorial for setting up a high-performance network environment using DMIT VPS and 3X-UI on Debian 12.
VPS Setup Guide: DMIT Server + 3X-UI Full Configuration Walkthrough
Published on ClawList.io | DevOps | ~10 min read
Whether you're running AI inference pipelines, deploying automation bots, or simply need a reliable, low-latency VPS for your development workflow, the combination of DMIT's premium CN2 GIA network and the 3X-UI management panel is one of the most battle-tested stacks available today. In this guide, we'll walk through the complete setup process — from provisioning your server to having a fully operational, high-performance network environment running on Debian 12.
Credit: This tutorial is based on a practical walkthrough originally shared by @EvanWritesX on X. We've expanded it with additional technical context for developers and automation engineers.
Why DMIT + 3X-UI? The Case for This Stack
Before we dive into commands and config files, let's talk about why this particular combination has earned such a strong reputation among developers.
DMIT and the CN2 GIA Advantage
DMIT is a Hong Kong-based VPS provider known for its premium routing options. Their CN2 GIA (China Telecom Next Carrier Network - Global Internet Access) line is a Tier-1 transit network that offers:
- Significantly lower latency compared to standard routing paths
- Fewer hops between your server and end users
- High stability under peak traffic loads — crucial for production AI workloads
- Direct peering arrangements that minimize packet loss
For developers building tools that interact with APIs across different regions, or running scheduled automation jobs that require consistent connection quality, CN2 GIA routing is a meaningful upgrade over commodity VPS providers.
Note: While this guide uses DMIT as the example provider, the entire setup process is compatible with any VPS running Debian 12. The DMIT-specific steps are limited to the initial provisioning phase.
Why 3X-UI?
3X-UI is a modern, open-source web panel for managing Xray-core proxy configurations. Think of it as a clean, browser-based dashboard that abstracts away the complexity of manually editing JSON config files. Key benefits include:
- Multi-protocol support — VLESS, VMess, Trojan, Shadowsocks, and more
- Traffic monitoring and per-user quota management
- TLS certificate management with built-in ACME support
- REST API access — useful for programmatic configuration in automation pipelines
- Active maintenance and a large open-source community
For AI engineers who need to manage proxy endpoints for data collection, LLM API routing, or multi-region testing environments, 3X-UI's API layer is particularly valuable.
Prerequisites and Initial Server Setup
What You'll Need
- A DMIT VPS (Premium CN2 GIA tier recommended) or any Debian 12 server
- A registered domain name (optional but recommended for TLS)
- Basic familiarity with SSH and the Linux command line
- Root or sudo access to your server
Step 1: Connect and Update Your Server
Once your VPS is provisioned, SSH into your server as root:
ssh root@YOUR_SERVER_IP
The first thing you should always do on a fresh server is update the package index and upgrade existing packages:
apt update && apt upgrade -y
Next, install some essential utilities that we'll rely on throughout this setup:
apt install -y curl wget git ufw unzip
Step 2: Configure the Firewall
A proper firewall configuration is non-negotiable for any production-facing server. We'll use UFW (Uncomplicated Firewall) to manage our rules:
# Allow SSH (critical — do this before enabling UFW)
ufw allow 22/tcp
# Allow HTTP and HTTPS traffic
ufw allow 80/tcp
ufw allow 443/tcp
# Enable the firewall
ufw enable
# Verify your rules
ufw status verbose
⚠️ Important: Always allow port 22 before enabling UFW to avoid locking yourself out of your server.
Step 3: (Optional) Enable BBR Congestion Control
For high-throughput scenarios — like streaming large datasets or serving multiple concurrent API connections — enabling TCP BBR can provide a noticeable performance boost:
# Check current congestion control algorithm
sysctl net.ipv4.tcp_congestion_control
# Enable BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
# Verify BBR is active
sysctl net.ipv4.tcp_congestion_control
# Expected output: net.ipv4.tcp_congestion_control = bbr
BBR is particularly effective on long-distance, high-latency connections — exactly the scenario where CN2 GIA routing shines.
Installing and Configuring 3X-UI
Step 4: Run the 3X-UI Installation Script
The 3X-UI project provides an official one-line installation script. This handles downloading the binary, setting up the systemd service, and creating the initial admin account:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
During installation, you'll be prompted to:
- Set a custom admin username (don't use the default
admin) - Set a strong admin password
- Define a custom panel port (avoid common ports like 8080; use something like
54321or a randomly chosen port above10000) - Set a custom web base path for security through obscurity
Security tip: Changing the default panel port and base path significantly reduces exposure to automated scanners. This is a low-effort, high-impact hardening step.
Step 5: Access the Web Panel
Once installation completes, open your browser and navigate to:
http://YOUR_SERVER_IP:YOUR_PANEL_PORT/YOUR_BASE_PATH
Log in with the credentials you set during installation. You should see the 3X-UI dashboard with system resource metrics, inbound traffic summaries, and user management controls.
Step 6: Create an Inbound Configuration
From the dashboard, navigate to Inbounds → Add Inbound and configure your preferred protocol. A typical VLESS + Reality configuration (currently one of the most robust options) looks like this:
- Protocol: VLESS
- Port: 443
- Transmission: TCP
- Security: Reality
- Dest (Target): A legitimate HTTPS website (e.g.,
www.microsoft.com:443) - Server Names: Match the destination domain
The Reality protocol is particularly well-suited for environments where you need your traffic to blend in with legitimate HTTPS flows — a key consideration for any developer doing cross-region API testing or running automation workloads that traverse restrictive networks.
Step 7: Enable TLS with a Custom Domain (Recommended)
If you have a domain pointed at your server's IP, navigate to Panel Settings → SSL Certificate and enable the ACME automatic certificate issuance. Enter your domain, and 3X-UI will handle the Let's Encrypt certificate lifecycle automatically — including renewals.
# Ensure port 80 is accessible for ACME HTTP challenge
# (already done in our UFW setup above)
ufw allow 80/tcp
Real-World Use Cases for Developers and AI Engineers
Once your DMIT + 3X-UI stack is live, here's how developers are actually using it in their workflows:
- LLM API routing: Reduce latency when hitting OpenAI, Anthropic, or regional AI APIs from Asia-Pacific locations by routing through a strategically placed VPS
- Web scraping and data collection: Maintain stable, persistent connections for long-running scraping jobs without residential proxy costs
- CI/CD pipeline acceleration: Speed up artifact downloads and registry pulls in geographically distributed build environments
- Multi-region testing: Simulate user traffic from different geographic origins to test CDN behavior and geo-restricted API responses
- OpenClaw skill deployment: Host WebSocket-based automation skills with guaranteed uptime and predictable latency profiles
Conclusion
The DMIT + Debian 12 + 3X-UI stack represents a pragmatic, well-supported foundation for developers who need a reliable, high-performance network node. The CN2 GIA routing gives you a genuine infrastructure edge for latency-sensitive workloads, while 3X-UI's clean panel and API interface make ongoing management straightforward — even as your infrastructure scales.
The setup process, from a fresh Debian 12 instance to a fully configured 3X-UI panel, realistically takes under 30 minutes for someone comfortable with a Linux terminal. That's an exceptional time-to-value ratio for the performance characteristics you get in return.
Ready to go further? Explore 3X-UI's subscription link feature to dynamically manage connection profiles across multiple client devices, or check out the REST API docs to integrate panel management into your automation pipelines and OpenClaw workflows.
Original tutorial credit: @EvanWritesX | Expanded and published by ClawList.io
Tags: VPS DMIT 3X-UI Debian DevOps Xray Network Automation AI Infrastructure CN2 GIA
Tags
Related Articles
Building Commercial Apps with Claude Opus
Experience sharing on rapid app development using Claude Opus as a CTO, product manager, and designer combined.
AI-Powered Product Marketing with Video and Social Media
Guide on using AI to create product advertisement videos, user testimonials, and product images for social media marketing campaigns.
Engineering Better AI Agent Prompts with Software Design Principles
Author shares approach to writing clean, modular AI agent code by incorporating software engineering principles from classic literature into prompt engineering.