Debug
Python local debug running
git clone https://github.com/SunoApi/SunoApi.git
- Installation dependencies
cd SunoApi
pip3 install -r requirements.txt
- .env environment variable, Image recognition requires the use of the gpt-4-vision review model, which can use OpenAI interfaces or replace them with other commonly used interfaces
OPENAI_BASE_URL = https://chatplusapi.cn
OPENAI_API_KEY = sk-xxxxxxxxxxxxxxxxxxxx
WEB_SITE_URL = http://localhost:8501
- Start the project, please refer to the Streamlit documentation for details on Streamlit
streamlit run main.py --server.maxUploadSize=2
Deploy
Docker local one-click deployment
docker run -d \
--name sunoapi \
--restart always \
-p 8501:8501 \
-v ./sunoapi.db:/app/sunoapi.db \
-v ./images/upload:/app/images/upload \
-e OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx \
-e OPENAI_BASE_URL=https://api.openai.com \
-e WEB_SITE_URL=http://localhost:8501 \
sunoapi/sunoapi:latest
Attention: It is necessary to http://localhost:8501 Replace with the actual address you can access, and the final uploaded image file will pass through http://domain.com/images/upload/xxxxxx.jpg The format can be accessed, otherwise OpenAI cannot access the image you uploaded and cannot recognize its content. Therefore, the function of uploading images to generate music will not be available.
Docker local compilation and deployment
docker compose build && docker compose up
Dockerfile
FROM python:3.10-slim-buster
WORKDIR /app
COPY requirements.txt ./
RUN --mount=type=cache,target=/root/.cache/pip \
pip install -r requirements.txt --no-cache-dir
COPY . .
EXPOSE 8501
CMD [ "nohup", "streamlit", "run", "main.py", "--server.maxUploadSize=2" ]
Docker pull image deployment
docker-compose pull && docker-compose up -d
docker-compose.yml
version: '3.2'
services:
sunoapi:
image: sunoapi/sunoapi:latest
container_name: sunoapi
ports:
- "8501:8501"
volumes:
- ./sunoapi.db:/app/sunoapi.db
- ./images/upload:/app/images/upload
environment:
- TZ=Asia/Shanghai
- OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx
- OPENAI_BASE_URL=https://api.openai.com
- WEB_SITE_URL=http://localhost:8501
restart: always
Note: To pull image deployment, you need to download sunoapi.db from the project and transfer it to your docker-compose.yml file directory. Otherwise, Docker startup will prompt that the file cannot be mounted.