Last active
October 11, 2024 14:47
-
-
Save FranzDiebold/12c5da9dc56758e28b25e2cf37351831 to your computer and use it in GitHub Desktop.
Bash utilities
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export START="Documents/dev" | |
if [[ $PWD == $HOME ]]; then | |
cd $START | |
fi | |
alias python3.8='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.8 python' | |
alias python3.9='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.9 python' | |
alias python3.10='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.10 python' | |
alias python3.11='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.11 python' | |
alias python3.12='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.12 python' | |
alias python3.13='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:3.13 python' | |
alias python='docker run --rm -it -v "${PWD}":/usr/src/app -w /usr/src/app python:latest python' | |
alias jupyter='docker run --rm -p 8888:8888 -p 4040:4040 -v "${PWD}":/home/jovyan franzdiebold/datascience-ultimate:latest' | |
alias jupyter-server='docker run --rm -p 8888:8888 -p 4040:4040 -v "${PWD}":/home/jovyan franzdiebold/datascience-ultimate-server:latest' | |
alias node12='docker run --rm -it -v "$PWD":/app -w /app node:12' | |
alias node14='docker run --rm -it -v "$PWD":/app -w /app node:14' | |
alias node16='docker run --rm -it -v "$PWD":/app -w /app node:16' | |
alias node18='docker run --rm -it -v "$PWD":/app -w /app node:18' | |
alias node20='docker run --rm -it -v "$PWD":/app -w /app node:20' | |
alias node22='docker run --rm -it -v "$PWD":/app -w /app node:22' | |
alias node='docker run --rm -it -v "$PWD":/app -w /app node:latest' | |
alias npm='node npm' | |
alias svn='docker run --rm -e UID="$(id -u)" -e GID="$(id -g)" -e SVN_USERNAME -e SVN_PASSWORD -v "$(pwd):/workspace" -v "$HOME/.subversion:/home/user/.subversion" profiprog/svn svn' | |
alias aws='docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli:latest' | |
alias serve-spa='docker run --rm -it -p 3000:8080 -v ${PWD}/:/data/docroot ghcr.io/paulscherrerinstitute/simple-spa-server' | |
# PyEnvD: Python environment dockerized | |
slugify() { | |
echo "$1" | iconv -t ascii//TRANSLIT | sed -E 's/[^a-zA-Z0-9-]+/-/g' | sed -E 's/^-+|-+$//g' | tr A-Z a-z | |
} | |
env_name() { | |
echo $(slugify ${${1:-$PWD}: -200}) | |
} | |
py-env-3.8() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.8 bash | |
} | |
py-env-3.9() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.9 bash | |
} | |
py-env-3.10() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.10 bash | |
} | |
py-env-3.11() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.11 bash | |
} | |
py-env-3.12() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.12 bash | |
} | |
py-env-3.13() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:3.13 bash | |
} | |
py-env() { | |
docker run --rm -it -v "$(env_name $1)_python":/usr/local/lib -v "${PWD}":/usr/src/app -w /usr/src/app python:latest bash | |
} | |
py-env-del() { | |
docker volume rm "$(env_name $1)_python" | |
} | |
jupyter-env() { | |
local working_directory="/usr/src/$(basename ${PWD})" | |
local ssh_directory="${HOME}/.ssh" | |
docker run --rm -p 8888:8888 -p 4040:4040 -v "$(env_name $1)_jupyter":/opt/conda/lib/python3.9/site-packages -v "${PWD}":"$working_directory" -v $ssh_directory:/home/jovyan/.ssh -w $working_directory franzdiebold/datascience-ultimate:latest | |
} | |
alias je=jupyter-env | |
jupyter-env-del() { | |
docker volume rm "$(env_name $1)_jupyter" | |
} | |
jupyter-server-env() { | |
local working_directory="/usr/src/$(basename ${PWD})" | |
local ssh_directory="${HOME}/.ssh" | |
docker run --rm -p 8888:8888 -p 4040:4040 -v "$(env_name $1)_jupyter-server":/opt/conda/lib/python3.9/site-packages -v "${PWD}":"$working_directory" -v $ssh_directory:/home/jovyan/.ssh -w $working_directory franzdiebold/datascience-ultimate-server:latest | |
} | |
alias jes=jupyter-server-env | |
jupyter-server-env-del() { | |
docker volume rm "$(env_name $1)_jupyter-server" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment