Docs / Advanced & Developer Hub / Remote Server & Cloudflare Tunnels

Remote Server & Cloudflare Tunnels

Deploy headless GPU servers (AWS EC2 / Hetzner) and configure zero-trust Cloudflare Tunnels.

Preview Content
Please note that the details on this page are pre-content drafts. More detailed technical specifications, architectural breakdowns, and updated guides will be added soon.

1. Linux Systemd Service Setup

Create a systemd unit file at /etc/systemd/system/xianscan.service:

ini
[Unit]
Description=XianScan Comic Translation Server
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/xianscan
ExecStart=/home/ubuntu/xianscan/xianscan
Restart=always
RestartSec=5
Environment=PORT=8124
Environment=RUST_LOG=info
Environment=DATA_ROOT=/home/ubuntu/xianscan/data

[Install]
WantedBy=multi-user.target

Enable and start the service:

bash
sudo systemctl daemon-reload
sudo systemctl enable --now xianscan

2. Cloudflare Tunnel Remote Ingress

Securely access your home server or remote GPU instance over HTTPS without port forwarding:

  1. Install cloudflared on your server:
bash
sudo apt-get install cloudflared
  1. Authenticate and create a tunnel:
bash
cloudflared tunnel login
cloudflared tunnel create xianscan-server
  1. Route traffic to your local XianScan port (8124) in ~/.cloudflared/config.yml:
yaml
tunnel: <TUNNEL_UUID>
credentials-file: /home/ubuntu/.cloudflared/<TUNNEL_UUID>.json

ingress:
  - hostname: manga.yourdomain.com
    service: http://localhost:8124
  - service: http_status:404
  1. Run the tunnel service:
bash
sudo cloudflared service install
sudo systemctl start cloudflared

You can now access your XianScan server and Mihon extensions securely from anywhere at https://manga.yourdomain.com!