profile/root.warehouse.profile

151 lines
5.9 KiB
Plaintext

# ~/.profile: executed by Bourne-compatible login shells
# Source: warehouse server - vmi3221427 (Contabo)
# Last updated: 2026-07-18
# ── PATH ──────────────────────────────────────────────────────────
if [ -d "$HOME/.local/bin" ]; then
PATH="$HOME/.local/bin:$PATH"
fi
if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi
# ── Shell options ────────────────────────────────────────────────
HISTSIZE=10000
HISTFILESIZE=20000
HISTTIMEFORMAT="%F %T "
HISTCONTROL=ignoredups:ignorespace
shopt -s histappend checkwinsize cdspell dirspell autocd
# ── Editor ───────────────────────────────────────────────────────
EDITOR=vim
VISUAL=vim
export EDITOR VISUAL
# ── Locale ───────────────────────────────────────────────────────
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# ── Source bashrc (aliases, functions, prompt) ───────────────────
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
# ── Docker shortcuts ─────────────────────────────────────────────
alias d='docker'
alias dc='docker compose'
alias dps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dsa='docker ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dlog='docker logs -f'
alias di='docker images'
alias dexec='docker exec -it'
alias dprune='docker system prune -af --volumes'
alias drestart='docker restart'
alias dup='docker compose up -d'
alias ddown='docker compose down'
alias dtop='docker stats --no-stream'
alias dstop-all='docker stop $(docker ps -q)'
alias dip="docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}'"
# ── System ───────────────────────────────────────────────────────
alias df='df -h'
alias du='du -sh'
alias free='free -h'
alias psg='ps aux | grep'
alias cpu='ps aux --sort=-%cpu | head -10'
alias mem='ps aux --sort=-%mem | head -10'
alias ports='ss -tlnp'
alias top='htop'
alias myip='curl -s ifconfig.me 2>/dev/null || curl -s https://api.ipify.org'
alias disk-usage='du -sh /* 2>/dev/null | sort -rh | head -10'
alias wg-show='wg show'
alias wg-stats='wg show wg0 | grep -E "transfer|latest handshake|endpoint"'
# ── Network ──────────────────────────────────────────────────────
alias ping='ping -c 4'
# ── Navigation ───────────────────────────────────────────────────
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias ll='ls -alF'
alias la='ls -A'
alias lt='ls -ltr'
alias l='ls -CF'
# ── Git ──────────────────────────────────────────────────────────
alias gs='git status'
alias gl='git log --oneline --graph -20'
alias gc='git commit -m'
alias gp='git push'
alias gpl='git pull'
alias gd='git diff'
alias gco='git checkout'
alias gb='git branch'
# ── Tmux ─────────────────────────────────────────────────────────
alias tm='tmux new -s'
alias tma='tmux attach -t'
alias tml='tmux ls'
alias tmk='tmux kill-session -t'
# ── Functions ────────────────────────────────────────────────────
# Full docker inspect summary
dipall() {
docker inspect "$1" --format "\
Name: {{.Name}}
Status: {{.State.Status}}
IP: {{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}
Image: {{.Config.Image}}
Ports: {{range $p, $c := .NetworkSettings.Ports}}{{$p}} {{end}}"
}
# Docker logs with timestamps
dlogt() {
docker logs -f --timestamps "$@"
}
# Get shell inside a container
dsh() {
docker exec -it "$1" sh -c 'if command -v bash >/dev/null 2>&1; then bash; else sh; fi' 2>/dev/null || \
docker exec -it "$1" sh
}
# Docker system disk usage
du-containers() {
docker system df
}
# Watch container health
dwatch() {
watch -n2 "docker ps --format 'table {{.Names}}\t{{.Status}}'"
}
# List all Docker networks with containers
dnetworks() {
echo "Networks:"
docker network ls --format "table {{.Name}}\t{{.Driver}}"
echo ""
for net in $(docker network ls -q); do
name=$(docker network inspect "$net" --format '{{.Name}}')
echo " -- $name --"
docker network inspect "$net" --format ' Gateway: {{(index .IPAM.Config 0).Gateway}} ({{(index .IPAM.Config 0).Subnet}})
Containers: {{range $c, $v := .Containers}}{{$v.Name}} ({{$v.IPv4Address}}) {{end}}' 2>/dev/null
done
}
# ── Login banner ─────────────────────────────────────────────────
echo ""
echo "======================================"
echo " vmi3221427 - Contabo Warehouse"
echo " Uptime: $(uptime -p 2>/dev/null || echo "?")"
echo " Load: $(cat /proc/loadavg | cut -d' ' -f1-3)"
echo " Disk: $(df -h / | tail -1 | awk '{print $3 " / " $2 " (" $5 ")"}')"
echo " RAM: $(free -h | grep Mem | awk '{print $3 " / " $2}')"
echo " Docker: $(docker ps -q 2>/dev/null | wc -l) running"
echo "======================================"
echo ""