File size: 3,291 Bytes
44fc622
 
 
 
 
 
500cbfa
 
44fc622
 
e235434
 
44fc622
 
 
 
 
e235434
 
500cbfa
 
 
 
 
 
 
e310801
 
 
ebb4897
 
e310801
 
 
 
 
ebb4897
e310801
 
82c0cdf
 
 
 
 
 
 
 
82a8009
 
 
 
 
 
 
 
44fc622
e82cba1
e235434
 
44fc622
 
 
 
 
7971fe4
44fc622
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
JOB_URL_SCHEME=${JOB_URL_SCHEME:-"http://"}
JOB_ID=${JOB_ID:-'localhost'}
JOB_HOST=${JOB_HOST:-'local'}
export HOME=/workspace
cd /workspace

# Install git lfs
git lfs install
if [[ -z "$HF_TOKEN" || ! "$HF_TOKEN" =~ ^hf_ ]]; then
  export HF_TOKEN=${!#}
  unset ${!#}
fi

echo "HF_TOKEN: $HF_TOKEN"
. /workspace/.bashrc
. /workspace/.miniconda3/bin/activate
export SHELL=/bin/bash

# Decode apps.json.enc file
# encoded with: openssl aes-256-cbc -base64 -md sha256 -pass pass:"$HF_TOKEN" -in apps.json -out apps.json.enc
# decode with: openssl aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN" -in apps.json.enc -out apps.json
if [ -f /workspace/.config/github-copilot/apps.json.enc ]; then
  openssl aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN" -in /workspace/.config/github-copilot/apps.json.enc -out /workspace/.config/github-copilot/apps.json
fi

# Launch cloudflared tunnel
# CFTOKEN.enc is the Cloudflared encrypted token
# CFTOKEN.enc contained an encrypted string encrypted with the HF_TOKEN
# CFTOKEN.enc was created with:
# echo "the_cf_tunnel_token" | openssl aes-256-cbc -base64 -md sha256 -pass pass:"$HF_TOKEN" > CFTOKEN.enc
if [ -f /workspace/.config/CFTOKEN.enc ]; then
  echo "Decrypting CFTOKEN"
  CFTOKEN_ENC=$(cat /workspace/.config/CFTOKEN.enc)
  echo "$CFTOKEN_ENC" | openssl  aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN"  > /workspace/.config/cftoken
  export CFTOKEN=$(cat /workspace/.config/cftoken)
  /usr/local/bin/cloudflared --pidfile /tmp/cf.pid  --autoupdate-freq 24h0m0s tunnel run --token $CFTOKEN &
fi

# Decode kaggle.json.enc file
# encoded with: openssl aes-256-cbc -base64 -md sha256 -pass pass:"$HF_TOKEN" -in kaggle.json -out kaggle.json.enc
# decode with: openssl aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN" -in kaggle.json.enc -out kaggle.json
if [ -f /workspace/.config/kaggle.json.enc ]; then
  mkdir -p $HOME/.kaggle
  openssl aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN" -in /workspace/.config/kaggle.json.enc -out /workspace/.kaggle/kaggle.json
fi

# Decode oauth2.cfg.enc file
# encoded with: openssl aes-256-cbc -base64 -md sha256 -pass pass:"$HF_TOKEN" -in oauth2.cfg -out oauth2.cfg.enc
# decode with: openssl aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN" -in oauth2.cfg.enc -out oauth2.cfg
if [ -f /workspace/.config/oauth2.cfg.enc ]; then
  openssl aes-256-cbc -a -d -md sha256 -pass pass:"$HF_TOKEN" -in /workspace/.config/oauth2.cfg.enc -out /workspace/.config/oauth2.cfg
  oauth2-proxy --config /workspace/.config/oauth2.cfg &
fi

git clone https://huggingface.co/eltorio/IDEFICS3_ROCOv2
git clone https://huggingface.co/spaces/eltorio/Llama-3.2-3B-appreciation
git config --global user.email "[email protected]"
git config --global user.name "[email protected]"
git config --global credential.helper store

huggingface-cli login --add-to-git-credential --token $HF_TOKEN


screen -dmS jupyter bash -c 'SHELL=/bin/bash jupyter lab --ip=0.0.0.0 --port=8080 --no-browser --allow-root \
  --notebook-dir=/workspace \
  --LabApp.token="" \
  --LabApp.custom_display_url=${JOB_URL_SCHEME}${JOB_ID}-8080.${JOB_HOST} \
  --LabApp.allow_remote_access=True \
  --LabApp.allow_origin="*" \
  --LabApp.disable_check_xsrf=True'

echo "Jupyter Lab is running at ${JOB_URL_SCHEME}${JOB_ID}-8080.${JOB_HOST}"
exec "$@"