【新手向】FreeAskInternet部署教程

水一贴新手向部署教程,欢迎指正!

  1. 对于新服务器,需要安装docker,按官网教程来就行,常见的:
  • Ubuntu:
    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # Add the repository to Apt sources:
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  • CentOS
    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

可能存在的一些坑:
(1) 如果直接复制粘贴所有命令一起运行,可能会不成功,如果不行,就从头开始逐行复制粘贴运行
(2) 有的情况可能需要手动启动docker服务,一些常见命令(直接从别处复制过来的):
```shell
sudo systemctl start docker # 启动

sudo systemctl daemon-reload # 守护进程重启

sudo systemctl restart  docker # 重启docker服务

sudo service docker restart # 重启docker服务

sudo docker service docker stop # 关闭

sudo docker systemctl stop docker # 关闭
```
  1. 开始部署
    其实按着readme一步步来就行了
    下载代码:git clone https://github.com/nashsu/FreeAskInternet.git
    其实没有git的话,用wget下载也行:wget https://github.com/nashsu/FreeAskInternet/archive/refs/heads/main.zip,但wget下载的是压缩包,需要使用unzip main.zip解压
    启动:
    cd ./FreeAskInternet && sudo docker compose up -d

readme中用的是docker-compose命令,但由于按上述流程一步步安装时,没有建立docker-compose快捷方式,所以会提示命令不存在,所以方便起见,就直接用docker compose

最后,补充一点,原代码中是没有暴露api接口的,只能用web的方式访问,也就是http://ip:3000,如果需要用第三方app调用接口的话,可以改一下 docker-compose.yaml文件,将端口暴露出来即可,然后就可以用http://ip:8000通过api形式访问了:

18 个赞

mark,学习

4 个赞

:+1:t2:

4 个赞

现在支持提供api了吗

4 个赞
services:
  backend:
    image: docker.io/duriancat/free_ask_internet:1.0
    ports:
      - "8000:8000"
    depends_on:
      - aurora
    restart: on-failure

  aurora:
    image: ghcr.io/aurora-develop/aurora:latest
    container_name: aurora
    restart: unless-stopped

  searxng:
    image: docker.io/searxng/searxng:latest
    volumes:
      - ./searxng:/etc/searxng:rw
    environment:
      - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    logging:
      driver: 'json-file'
      options:
        max-size: '1m'
        max-file: '1'
    restart: always

接aurora的api版,接口端口8000

4 个赞

补充了一下,将8000端口打开就行了

1 个赞

有没有再喂饭级点

1 个赞

直接问gpt?然后根据系统版本生成一键脚本?

2 个赞
curl -fsSL https://get.docker.com | bash -s docker

安装docker

git clone https://github.com/nashsu/FreeAskInternet.git
services:
  backend:
    image: docker.io/duriancat/free_ask_internet:1.0
    ports:
      - "8000:8000"
    depends_on:
      - aurora
    restart: on-failure

  aurora:
    image: ghcr.io/aurora-develop/aurora:latest
    container_name: aurora
    restart: unless-stopped

  searxng:
    image: docker.io/searxng/searxng:latest
    volumes:
      - ./searxng:/etc/searxng:rw
    environment:
      - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    logging:
      driver: 'json-file'
      options:
        max-size: '1m'
        max-file: '1'
    restart: always

替换docker-compose.yml

docker compose up -d

这样或许更好

4 个赞

老哥,我是几个项目部署在不同的地方,那个FreeGPT35部署在Vercel,现在我想部署这个项目,但是看不出Docker他们是怎样联系的,就想问问能不能分开部署?

2 个赞

改那个项目的接口地址,原来是freegpt3.5:3040/v1/改成你自己的就行然后重新编译

1 个赞

就差服务器了,服务器哪里领

1 个赞

好好好

1 个赞

mark

1 个赞

学习了,感谢

1 个赞

本地部署

后台显示searxng TimeoutError,这个怎么破?

1 个赞

searxng对应的搜索引擎是google之类的,所以需要国外的vps或者挂梯

1 个赞

这个怎么玩

2 个赞

已经是us的服务器了

2 个赞