diff --git a/.gitignore b/.gitignore index f5100914..7035b94f 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,5 @@ helpers/__pycache__/** */ # Webstorm .idea/* -CLAUDE.md \ No newline at end of file +CLAUDE.md +/.mintlify-last diff --git a/docs.json b/docs.json index 7a753ef7..861ba904 100644 --- a/docs.json +++ b/docs.json @@ -206,6 +206,7 @@ { "group": "Troubleshooting", "pages": [ + "references/troubleshooting/cuda-version-issue", "references/troubleshooting/leaked-api-keys", "references/troubleshooting/storage-full", "references/troubleshooting/troubleshooting-502-errors", diff --git a/images/additional-filter-cuda-version.png b/images/additional-filter-cuda-version.png new file mode 100644 index 00000000..d3f989b1 Binary files /dev/null and b/images/additional-filter-cuda-version.png differ diff --git a/pods/configuration/use-ssh.mdx b/pods/configuration/use-ssh.mdx index d301040c..5649638f 100644 --- a/pods/configuration/use-ssh.mdx +++ b/pods/configuration/use-ssh.mdx @@ -129,165 +129,10 @@ Here are some common reasons why this might happen: ## Password-based SSH To use this method, your Pod must have a public IP address and expose TCP port 22. SSH will be accessible through a mapped external port. -To quickly set up password-based SSH, copy and paste this code into your Pod's web terminal: - -```bash expandable Password-based SSH Script -cat > /tmp/setup_ssh.sh << 'EOF' && chmod +x /tmp/setup_ssh.sh && /tmp/setup_ssh.sh -#!/bin/bash - -# Function to print in color -print_color() { - COLOR=$1 - TEXT=$2 - case $COLOR in - "green") echo -e "\e[32m$TEXT\e[0m" ;; - "red") echo -e "\e[31m$TEXT\e[0m" ;; - "yellow") echo -e "\e[33m$TEXT\e[0m" ;; - "blue") echo -e "\e[34m$TEXT\e[0m" ;; - *) echo "$TEXT" ;; - esac -} - -# Function to prompt for password -get_password() { - while true; do - print_color "blue" "Enter a password for root user:" - read -s root_password - echo - - print_color "blue" "Confirm password:" - read -s confirm_password - echo - - if [ "$root_password" = "$confirm_password" ]; then - print_color "green" "Password confirmed successfully." - break - else - print_color "red" "Passwords do not match. Please try again." - fi - done -} - -# Check for OS Type -print_color "blue" "Detecting Linux Distribution..." -os_info=$(cat /etc/*release) -print_color "yellow" "OS Detected: $os_info" - -# Check for SSH Server and install if necessary -if ! command -v sshd >/dev/null; then - print_color "yellow" "SSH server not found. Installing..." - if [[ $os_info == *"debian"* || $os_info == *"ubuntu"* ]]; then - apt-get update && apt-get install -y openssh-server - elif [[ $os_info == *"redhat"* || $os_info == *"centos"* ]]; then - yum install -y openssh-server - else - print_color "red" "Unsupported Linux distribution for automatic SSH installation." - exit 1 - fi - print_color "green" "SSH Server Installed Successfully." -else - print_color "green" "SSH Server is already installed." -fi - -# Configure SSH to allow root login -print_color "blue" "Configuring SSH to allow root login with a password..." -sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config -sed -i 's/#PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config -service ssh restart -print_color "green" "SSH Configuration Updated." - -# Get custom password from user -get_password - -# Set the custom password for root -print_color "blue" "Setting custom password for root..." -echo "root:$root_password" | chpasswd -echo $root_password > /workspace/root_password.txt -print_color "green" "Root password set and saved in /workspace/root_password.txt" - -# Check if environment variables are set -print_color "blue" "Checking environment variables..." -if [ -z "$RUNPOD_PUBLIC_IP" ] || [ -z "$RUNPOD_TCP_PORT_22" ]; then - print_color "red" "Environment variables RUNPOD_PUBLIC_IP or RUNPOD_TCP_PORT_22 are missing." - exit 1 -fi -print_color "green" "Environment variables are set." - -# Create connection script for Windows (.bat) -print_color "blue" "Creating connection script for Windows..." -echo "@echo off" > /workspace/connect_windows.bat -echo "echo ========================================" >> /workspace/connect_windows.bat -echo "echo SSH CONNECTION" >> /workspace/connect_windows.bat -echo "echo ========================================" >> /workspace/connect_windows.bat -echo "echo Root password: $root_password" >> /workspace/connect_windows.bat -echo "echo." >> /workspace/connect_windows.bat -echo "echo To connect via SSH:" >> /workspace/connect_windows.bat -echo "echo ssh root@$RUNPOD_PUBLIC_IP -p $RUNPOD_TCP_PORT_22" >> /workspace/connect_windows.bat -echo "echo." >> /workspace/connect_windows.bat -echo "echo ========================================" >> /workspace/connect_windows.bat -echo "echo FILE TRANSFER EXAMPLES (SCP)" >> /workspace/connect_windows.bat -echo "echo ========================================" >> /workspace/connect_windows.bat -echo "echo." >> /workspace/connect_windows.bat -echo "echo Copy file TO pod:" >> /workspace/connect_windows.bat -echo "echo scp -P $RUNPOD_TCP_PORT_22 yourfile.txt root@$RUNPOD_PUBLIC_IP:/workspace/" >> /workspace/connect_windows.bat -echo "echo." >> /workspace/connect_windows.bat -echo "echo Copy file FROM pod:" >> /workspace/connect_windows.bat -echo "echo scp -P $RUNPOD_TCP_PORT_22 root@$RUNPOD_PUBLIC_IP:/workspace/yourfile.txt ." >> /workspace/connect_windows.bat -echo "echo." >> /workspace/connect_windows.bat -echo "echo Copy entire folder TO pod:" >> /workspace/connect_windows.bat -echo "echo scp -P $RUNPOD_TCP_PORT_22 -r yourfolder root@$RUNPOD_PUBLIC_IP:/workspace/" >> /workspace/connect_windows.bat -echo "echo ========================================" >> /workspace/connect_windows.bat -print_color "green" "Windows connection script created in /workspace." - -# Create connection script for Linux/Mac (.sh) -print_color "blue" "Creating connection script for Linux/Mac..." -echo "#!/bin/bash" > /workspace/connect_linux.sh -echo "echo '========================================'" >> /workspace/connect_linux.sh -echo "echo 'SSH CONNECTION'" >> /workspace/connect_linux.sh -echo "echo '========================================'" >> /workspace/connect_linux.sh -echo "echo 'Root password: $root_password'" >> /workspace/connect_linux.sh -echo "echo ''" >> /workspace/connect_linux.sh -echo "echo 'To connect via SSH:'" >> /workspace/connect_linux.sh -echo "echo 'ssh root@$RUNPOD_PUBLIC_IP -p $RUNPOD_TCP_PORT_22'" >> /workspace/connect_linux.sh -echo "echo ''" >> /workspace/connect_linux.sh -echo "echo '========================================'" >> /workspace/connect_linux.sh -echo "echo 'FILE TRANSFER EXAMPLES (SCP)'" >> /workspace/connect_linux.sh -echo "echo '========================================'" >> /workspace/connect_linux.sh -echo "echo ''" >> /workspace/connect_linux.sh -echo "echo 'Copy file TO pod:'" >> /workspace/connect_linux.sh -echo "echo 'scp -P $RUNPOD_TCP_PORT_22 yourfile.txt root@$RUNPOD_PUBLIC_IP:/workspace/'" >> /workspace/connect_linux.sh -echo "echo ''" >> /workspace/connect_linux.sh -echo "echo 'Copy file FROM pod:'" >> /workspace/connect_linux.sh -echo "echo 'scp -P $RUNPOD_TCP_PORT_22 root@$RUNPOD_PUBLIC_IP:/workspace/yourfile.txt .'" >> /workspace/connect_linux.sh -echo "echo ''" >> /workspace/connect_linux.sh -echo "echo 'Copy entire folder TO pod:'" >> /workspace/connect_linux.sh -echo "echo 'scp -P $RUNPOD_TCP_PORT_22 -r yourfolder root@$RUNPOD_PUBLIC_IP:/workspace/'" >> /workspace/connect_linux.sh -echo "echo '========================================'" >> /workspace/connect_linux.sh -chmod +x /workspace/connect_linux.sh -print_color "green" "Linux/Mac connection script created in /workspace." - -print_color "green" "Setup Completed Successfully!" -echo "" -print_color "yellow" "========================================" -print_color "yellow" "SSH CONNECTION" -print_color "yellow" "========================================" -print_color "yellow" "Connect using: ssh root@$RUNPOD_PUBLIC_IP -p $RUNPOD_TCP_PORT_22" -print_color "yellow" "Password: $root_password" -echo "" -print_color "blue" "========================================" -print_color "blue" "FILE TRANSFER EXAMPLES (SCP)" -print_color "blue" "========================================" -print_color "blue" "Copy file TO pod:" -echo "scp -P $RUNPOD_TCP_PORT_22 yourfile.txt root@$RUNPOD_PUBLIC_IP:/workspace/" -echo "" -print_color "blue" "Copy file FROM pod:" -echo "scp -P $RUNPOD_TCP_PORT_22 root@$RUNPOD_PUBLIC_IP:/workspace/yourfile.txt ." -echo "" -print_color "blue" "Copy entire folder TO pod:" -echo "scp -P $RUNPOD_TCP_PORT_22 -r yourfolder root@$RUNPOD_PUBLIC_IP:/workspace/" -echo "" -print_color "green" "Connection scripts saved in /workspace/connect_windows.bat and /workspace/connect_linux.sh" -EOF +To quickly set up password-based SSH, run this command to download and execute a [helper script](https://github.com/justinwlin/Runpod-SSH-Password/blob/main/passwordrunpod.sh) for password setup: + +```bash +wget https://raw.githubusercontent.com/justinwlin/Runpod-SSH-Password/main/passwordrunpod.sh && chmod +x passwordrunpod.sh && ./passwordrunpod.sh ``` @@ -296,7 +141,7 @@ While SSH operates on port 22 within your Pod, Runpod assigns a different extern If you see the message `Environment variables RUNPOD_PUBLIC_IP or RUNPOD_TCP_PORT_22 are missing` when running the script, it means one or more of the required environment variables are not set. Please ensure you have met all the necessary requirements described above. -After pasting the script into your terminal and entering a password, you'll see example commands for SSH or SCP which you can use to connect to your Pod and transfer files from your local machine: +After running the script and entering a password, you'll see example commands for SSH or SCP which you can use to connect to your Pod and transfer files from your local machine: ```bash ======================================== @@ -316,4 +161,4 @@ scp -P 32061 root@38.80.152.73:/workspace/yourfile.txt . Copy entire folder TO pod: scp -P 32061 -r yourfolder root@38.80.152.73:/workspace/ -``` \ No newline at end of file +``` diff --git a/pods/manage-pods.mdx b/pods/manage-pods.mdx index 0af0dc42..22a53735 100644 --- a/pods/manage-pods.mdx +++ b/pods/manage-pods.mdx @@ -31,6 +31,24 @@ GPU configuration: 4. Specify your **GPU count** if you need multiple GPUs. 5. Click **Deploy On-Demand** to deploy and start your Pod. + +**CUDA Version Compatibility** + +When using templates (especially community templates like `runpod/pytorch:2.8.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04`), ensure the host machine's CUDA driver version matches or exceeds the template's requirements. + +If you encounter errors like "OCI runtime create failed" or "unsatisfied condition: cuda>=X.X", you need to filter for compatible machines: + +1. Click **Additional filters** in the Pod creation interface +2. Click **CUDA Versions** filter dropdown +3. Select a CUDA version that matches or exceeds your template's requirements (e.g., if the template requires CUDA 12.8, select 12.8 or higher) + + + + + +**Note:** Check the template name or documentation for CUDA requirements. When in doubt, select the latest CUDA version as newer drivers are backward compatible. + + CPU configuration: 1. Select a **CPU type** (e.g., CPU3/CPU5, Compute Optimized, General Purpose, Memory-Optimized).