Tencent Cloud High-performance Application Service (HAI) is a GPU application service product for AI and scientific computing.
This tutorial explains how to deploy deepseek to HAI using CNB and Docker.
Build and publish a Docker image based on deepseek. Alternatively, you can choose pre-built deepseek images from the cnb deepseek repository, such as docker.cnb.cool/examples/ecosystem/deepseek/1.5b:latest.
Log in to the HAI Console and click Create New.
Under Application Selection > Basic Environment, choose Ubuntu 20.04.
Fill in other form fields as needed and create the instance.
After successful creation, Tencent Cloud will send a notification containing the default username and password for SSH login.
In the instance details page, open ports 11434 and 8080 in the port configuration.
11434 is the service port for ollama's deepseek service, and 8080 is the web access port for open-webui.
Using the default username and password recorded earlier, log in to the HAI instance via SSH client.
Copy the startup script deploy.sh to the HAI instance (e.g., /app/deepseek/deploy.sh) and execute the following commands:
sudo su
cd /app/deepseek/
chmod +x ./deploy.sh
./deploy.sh
After starting the deepseek container, you can access http://{Instance Public IP}:11434 to view the ollama service.
After starting the open-webui container, wait about 1-2 minutes until the container status becomes healthy, then access http://{Instance Public IP}:8080 to view the page and start conversations.
Alternatively, you can use CNB pipeline with the ssh plugin to execute deployment commands:
Add a yaml file in private or key repository to record the instance's public IP, username and password, for example:
# secret.yml
HAI_IP: xxx
HAI_USERNAME: xxx
HAI_PASSWORD: xxx
# allow_* controls the accessibility scope of this file
allow_slug: xxx
# .cnb.yml
.host-info: &host-info
host: $HAI_IP
username: $HAI_USERNAME
password: $HAI_PASSWORD
port: 22
main:
push:
# Import the secret.yml mentioned above as environment variables
- imports: https://xxx/secret.yml
stages:
# Upload script via plugin (can also be pre-uploaded)
- name: trans shell
image: tencentcom/rsync
settings:
host:
- ${HAI_IP}
user: ${HAI_USERNAME}
key: ${HAI_KEY}
target: /home/ubuntu/deepseek
source: ./deploy.sh
- name: exec shell
image: tencentcom/ssh
settings:
<<: *host-info
script: |
sudo chmod +x /home/ubuntu/deepseek/deploy.sh
sudo bash /home/ubuntu/deepseek/deploy.sh
After starting the deepseek container, you can access http://{Instance Public IP}:11434 to view the ollama service.
After starting the open-webui container, wait about 1-2 minutes until the container status becomes healthy, then access http://{Instance Public IP}:8080 to view the page.