# SSH Tunnel Docker Integration SSH tunnel-ul pentru conexiunea la Oracle database este acum complet integrat în Docker setup. ## 🔧 Configurare Automată ### Development Mode SSH tunnel-ul pornește automat când rulezi: ```bash docker-compose up ``` ### Servicii incluse: - **roa-ssh-tunnel**: Container dedicat pentru SSH tunnel - **roa-backend**: Conectat prin tunnel la Oracle - **roa-frontend**: Interface-ul web - **roa-gateway**: Nginx reverse proxy - **roa-redis**: Cache și sesiuni ## 📋 Cerințe ### SSH Key Asigură-te că ai cheia SSH în locația corectă: ```bash ~/.ssh/roa_oracle_server ``` ### Configurare Environment Variabilele sunt setate automat din `.env.development`: ```env SSH_SERVER=83.103.197.79 SSH_PORT=22122 SSH_USER=roa2web REMOTE_HOST=10.0.20.36 ORACLE_HOST=localhost # Se conectează prin tunnel ``` ## 🚀 Utilizare ### Start complet cu SSH tunnel: ```bash # Copiază environment-ul de development cp .env.development .env # Pornește toate serviciile (inclusiv SSH tunnel) docker-compose up --build ``` ### Verificare SSH tunnel: ```bash # Check tunnel health docker-compose ps roa-ssh-tunnel # Check tunnel logs docker-compose logs -f roa-ssh-tunnel # Test Oracle connection through tunnel docker-compose exec roa-backend python -c " from shared.database.oracle_pool import test_connection test_connection() " ``` ## 🔍 Monitoring ### SSH Tunnel Status: - **Health check**: Verifică portul 1521 la fiecare 30s - **Auto-restart**: Tunnel-ul se restartează automat dacă se întrerupe - **Logs**: Monitorizare în timp real cu `docker-compose logs -f roa-ssh-tunnel` ### Service Dependencies: ``` roa-ssh-tunnel (first) ↓ roa-redis ↓ roa-backend (depends on tunnel + redis) ↓ roa-frontend ↓ roa-gateway (last) ``` ## 🏭 Producție În producție, SSH tunnel-ul este automat dezactivat: ```bash # Production deployment (fără SSH tunnel) docker-compose -f docker-compose.yml -f docker-compose.production.yml up -d ``` Backend-ul se conectează direct la Oracle server în producție. ## 🛠️ Troubleshooting ### SSH Tunnel nu pornește: ```bash # Verifică că ai cheia SSH ls -la ~/.ssh/roa_oracle_server # Verifică permissions chmod 600 ~/.ssh/roa_oracle_server # Restart tunnel container docker-compose restart roa-ssh-tunnel ``` ### Backend nu se conectează la Oracle: ```bash # Check tunnel status docker-compose exec roa-ssh-tunnel nc -z localhost 1521 # Check backend logs docker-compose logs -f roa-backend # Test manual connection docker-compose exec roa-ssh-tunnel nc -z 10.0.20.36 1521 ``` ### Connection timeout: ```bash # Verifică că serverul SSH rulează ssh -p 22122 roa2web@83.103.197.79 # Restart toate serviciile docker-compose down && docker-compose up --build ``` ## 📊 Avantaje ✅ **Automat**: Nu mai trebuie să pornești manual SSH tunnel-ul ✅ **Robust**: Auto-restart dacă tunnel-ul se întrerupe ✅ **Monitorizat**: Health checks și logging complet ✅ **Development-only**: Exclus automat în producție ✅ **Containerizat**: Izolat în propriul container ✅ **Dependencies**: Backend așteaptă tunnel-ul să fie gata Nu mai trebuie să rulezi `./ssh_tunnel.sh start` manual - totul e automat în Docker! 🎉