| #!/bin/bash |
|
|
| |
| echo "Exporting environment variables..." |
| printenv | grep -E '^HF_|^BNB_|^CUDA_|^NCCL_|^NV|^RUNPOD_|^PATH=|^_=' | sed 's/^\([^=]*\)=\(.*\)$/export \1="\2"/' | grep -v 'printenv' >> /etc/rp_environment |
| echo 'source /etc/rp_environment' >> ~/.bashrc |
|
|
| add_keys_to_authorized() { |
| local key_value=$1 |
|
|
| |
| mkdir -p ~/.ssh |
| chmod 700 ~/.ssh |
|
|
| |
| touch ~/.ssh/authorized_keys |
|
|
| |
| local key="" |
|
|
| |
| for word in $key_value; do |
| |
| if [[ $word == ssh-* ]]; then |
| |
| if [[ -n $key ]]; then |
| echo $key >> ~/.ssh/authorized_keys |
| fi |
| |
| key=$word |
| else |
| |
| key="$key $word" |
| fi |
| done |
|
|
| |
| if [[ -n $key ]]; then |
| echo $key >> ~/.ssh/authorized_keys |
| fi |
|
|
| |
| chmod 600 ~/.ssh/authorized_keys |
| chmod 700 -R ~/.ssh |
| } |
|
|
| if [[ $PUBLIC_KEY ]]; then |
| |
| add_keys_to_authorized "$PUBLIC_KEY" |
| |
| service ssh start |
| elif [[ $SSH_KEY ]]; then |
| |
| add_keys_to_authorized "$SSH_KEY" |
| |
| service ssh start |
| else |
| echo "No PUBLIC_KEY or SSH_KEY environment variable provided, not starting openSSH daemon" |
| fi |
|
|
| |
| if [ -n "$JUPYTER_PASSWORD" ]; then |
| |
| export JUPYTER_TOKEN="$JUPYTER_PASSWORD" |
| fi |
|
|
| if [ "$JUPYTER_DISABLE" != "1" ]; then |
| |
| jupyter lab --port=8888 --ip=* --allow-root --ServerApp.allow_origin=* & |
| fi |
|
|
| if [ ! -d "/workspace/data/axolotl-artifacts" ]; then |
| mkdir -p /workspace/data/axolotl-artifacts |
| fi |
| if [ ! -L "/workspace/axolotl/outputs" ]; then |
| ln -sf /workspace/data/axolotl-artifacts /workspace/axolotl/outputs |
| fi |
|
|
| |
| exec "$@" |
|
|