Installazione · versione 1.0.2

Installa Remote CTRL sul tuo server.

Un'immagine Docker, una decina di minuti. Gratis per un utente, senza account e senza chiave di licenza.

Cosa ti serve

  • Docker con Compose: un server Linux (x86-64 o ARM64, compreso un Raspberry Pi 4 o 5 con sistema a 64 bit), oppure Docker Desktop su Windows o macOS
  • Accesso di rete da quella macchina ai server che vuoi raggiungere
  • Una decina di minuti

Tutto il resto, Apache Guacamole e il suo database compresi, è nell'immagine.

I tuoi dati restano con te

Host, credenziali e cronologia stanno in un volume Docker sulla tua macchina, con i segreti salvati cifrati. Free funziona del tutto offline. Un piano a pagamento invia solo la chiave di licenza e un ID di installazione casuale per rinnovare la licenza.

  1. Scarica i file

    Il file Compose e il modello delle impostazioni, dal repository pubblico.

    mkdir remote-ctrl && cd remote-ctrl
    curl -fsSLO https://raw.githubusercontent.com/Umberto-Casaburi/remote-ctrl/main/docker-compose.yml
    curl -fsSL https://raw.githubusercontent.com/Umberto-Casaburi/remote-ctrl/main/.env.example -o .env
  2. Imposta i segreti

    Sostituisci ogni CHANGE_ME in .env con un valore casuale. Remote CTRL non si avvia finché non lo fai. Su Windows esegui il comando in WSL o Git Bash, oppure usa il generatore qui sotto.

    for key in APP_SECRET RDP_GUACAMOLE_PASSWORD GUACAMOLE_POSTGRES_PASSWORD; do
      sed -i.bak "s/^$key=CHANGE_ME$/$key=$(openssl rand -hex 32)/" .env
    done
    rm -f .env.bak
    VariabileCosa protegge
    APP_SECRETCifra password e chiavi salvate e firma le sessioni
    RDP_GUACAMOLE_PASSWORDL'account interno per le sessioni desktop
    GUACAMOLE_POSTGRES_PASSWORDIl database PostgreSQL integrato

    Conserva APP_SECRET per tutta la vita dell'installazione. Se cambia, password e chiavi salvate non si possono più decifrare.

  3. Avvialo

    docker compose up -d

    Il primo avvio richiede circa un minuto, mentre il database si inizializza. docker compose ps mostra healthy quando è pronto.

  4. Crea l'amministratore

    Apri http://localhost:4000, oppure l'indirizzo del server sulla porta 4000. La prima schermata chiede nome utente e password dell'amministratore. Poi aggiungi il primo server dalla barra laterale.

  5. Attiva un piano a pagamento facoltativo

    Apri About dal menu utente, incolla la chiave di licenza (RC-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX) e seleziona Activate. Piano, limite di utenti e data di scadenza compaiono subito. Vedi i piani.

Aggiorna

docker compose pull
docker compose up -d

Le note di rilascio sono su GitHub. Per restare su una versione, sostituisci latest in docker-compose.yml con il suo numero, per esempio 1.0.2.

Backup

Tutti i dati stanno nel volume remote-ctrl-data. Fanne il backup insieme al file .env: l'uno non si ripristina senza l'altro.

VPN integrata Piani a pagamento

Togli il commento alle righe della VPN in docker-compose.yml, apri la porta UDP 51820 sul server e attiva la VPN in Management > VPN.

Dietro un reverse proxy

Servilo in HTTPS, inoltrando gli upgrade WebSocket e gli header forwarded. Esempio per Nginx su /remote/:

location ^~ /remote/ {
  proxy_pass http://127.0.0.1:4000/;
  proxy_http_version 1.1;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Forwarded-Prefix /remote;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  client_max_body_size 32m;
  proxy_request_buffering off;
}

Poi aggiungi queste righe a .env ed esegui di nuovo docker compose up -d:

TRUST_PROXY_HOPS=1
AUTH_COOKIE_SECURE=true
RDP_GUACAMOLE_PUBLIC_URL=/remote/guacamole