alpine docker 快速命令设置

alpine

vi ~/.profile;source ~/.profile

mint/oraclelinux/ubuntu

vi ~/.bashrc;source ~/.bashrc
----------------------------------------
# Docker Compose 快捷命令
alias docker-compose='docker compose'
alias down='docker-compose down'
alias up='docker-compose up -d'
alias pull='docker-compose pull'
alias start='docker-compose restart'
alias stop='docker-compose stop'
alias reload='docker exec nginx nginx -s reload'

# opencode 快捷命令
opencode() {
  case "$1" in
    start)
      docker-compose restart
      ;;
    stop )
      docker-compose stop
      ;;
    stats )
      if [ "$2" = "7" ]; then
        docker exec -it opencode opencode stats --days 7
      elif [ "$2" = "model" ]; then
        docker exec -it opencode opencode stats --models
      else
        docker exec -it opencode opencode stats
      fi
      ;;
    cat )
      if [ "$2" = "omo" ]; then
        docker exec -it opencode cat /home/node/.config/opencode/oh-my-openagent.json
      else
        docker exec -it opencode cat /home/node/.config/opencode/opencode.json
      fi
      ;;
    vi )
      if [ "$2" = "omo" ]; then
        docker exec -it opencode vi /home/node/.config/opencode/oh-my-openagent.json      else
        docker exec -it opencode vi /home/node/.config/opencode/opencode.json
      fi
      ;;
    * )
      echo "用法:"
      echo "opencode            # 帮助"
      echo "opencode start      # 重启容器"
      echo "opencode stop       # 停止容器"
      echo "opencode stats      # 统计"
      echo "opencode stats 7    # 7天统计"
      echo "opencode stats model# 模型统计"
      echo "opencode cat        # 查看主配置"
      echo "opencode cat oc     # 查看主配置"
      echo "opencode cat omo    # 查看 oh-my-openagent"
      echo "opencode vi         # 编辑主配置"
      echo "opencode vi oc      # 编辑主配置"
      echo "opencode vi omo     # 编辑 oh-my-openagent"
      ;;
  esac
}

# 智能日志函数
log_func() {
    if [ -z "$1" ]; then
        docker-compose logs -f --tail=10
    elif [ "$1" -eq 0 ] 2>/dev/null; then
        docker-compose logs -f
    else
        docker-compose logs -f --tail="$1"
    fi
}

# 智能透入容器运行命令
exec_func() {
    local svc=$(docker compose config --services 2>/dev/null | head -n 1)
    if [ -z "$svc" ]; then
        echo "❌ 当前目录没有找到有效的 docker-compose 服务"
        return 1
    fi
    if [ $# -eq 0 ]; then
        echo "🚀 正在进入服务 [$svc] 的默认 Shell..."
        docker compose exec "$svc" sh
    else
        echo "🚀 正在服务 [$svc] 中执行: $@"
        docker compose exec "$svc" "$@"
    fi
}

# hermes 快捷
hermes() {
    case "${1:-}" in
        config)
            shift
            vi data/data/config.yaml
            ;;
        env)
            shift
            vi data/data/.env
            ;;
        *)
            exec_func /opt/hermes/.venv/bin/hermes "$@"
            ;;
    esac
}

# 绑定别名
alias log='log_func'
alias run='exec_func'
alias ll='ls -l'

# ubuntu / mint / oracle / centos
if [ -f /etc/bash.bashrc ]; then
    . /etc/bash.bashrc
fi