Le service SQLTunnel sans interface est publié sur Docker Hub pour les déploiements de longue durée sur serveurs et appareils NAS.
Créez un fichier compose.yaml dans le répertoire de déploiement:
services:
sqltunnel:
image: nemoalex/sqltunnel:latest
container_name: sqltunnel
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./config:/app/config:roDans le mappage de port, le premier 3000 est le port hôte accessible extérieurement et le second est le port du conteneur.
Utilisez cette structure de répertoire de configuration:
config/
├── gateway.yaml # Configuration principale de SQLTunnel
└── ssh/ # Optionnel : utilisé pour les connexions par tunnel SSH
├── config # Optionnel : SSH Config, alias Host et ProxyJump
└── id_rsa # Optionnel : clé privée SSH
Le répertoire ssh/ est optionnel. Les connexions directes à la base de données nécessitent uniquement gateway.yaml.
Téléchargez le modèle de configuration:
mkdir config
curl -fsSL https://raw.githubusercontent.com/NemoAlex/SQLTunnel/main/config/gateway.example.yaml \
-o config/gateway.yamlModifiez config/gateway.yaml pour votre environnement. Consultez la référence de configuration pour les connexions aux bases de données, les tunnels SSH et les permissions des clients.
docker compose up -dVérifiez que le service fonctionne:
docker compose ps
docker compose logs -f sqltunnel
curl http://127.0.0.1:3000/health127.0.0.1dansgateway.yamlfait référence au conteneur SQLTunnel, et non à l'hôte.- Placez la config SSH et les clés privées sous
config/ssh/, puis référencez-les avec des chemins relatifs dansgateway.yaml. Le répertoireconfigcomplet est monté en lecture seule sous/app/config. gateway.yamlcontient les mots de passe des bases de données et les clés API des clients. Ne l'ajoutez pas au contrôle de version et restreignez ses permissions de lecture.- Lorsque vous exposez le service à distance, utilisez un proxy inverse avec HTTPS. N'exposez pas les ports des bases de données sur Internet.