chhoto-url
Github Repo
compose更新日期: 2026-08-15
官方安装文档:
docker-compose
yaml
networks:
1panel-network:
external: true
services:
chhoto-url:
container_name: chhoto-url
image: sintan1729/chhoto-url:latest
restart: unless-stopped
environment:
- CHHOTO_DB_URL=/data/urls.sqlite
- CHHOTO_PASSWORD=${CHHOTO_PASSWORD:?CHHOTO_PASSWORD is required}
- CHHOTO_SITE_URL=${CHHOTO_SITE_URL}
- CHHOTO_API_KEY=${CHHOTO_API_KEY:?CHHOTO_API_KEY is required}
- CHHOTO_SQLITE_USE_WAL_MODE=True
- CHHOTO_REDIRECT_METHOD=${CHHOTO_REDIRECT_METHOD}
- CHHOTO_SLUG_STYLE=${CHHOTO_SLUG_STYLE}
- CHHOTO_SLUG_LENGTH=${CHHOTO_SLUG_LENGTH}
labels:
createdBy: Apps
networks:
- 1panel-network
ports:
- ${HOST_IP}:${CHHOTO_HOST_PORT}:4567
volumes:
- ./data:/dataenv
env
HOST_IP=127.0.0.1
CHHOTO_HOST_PORT=4567
CHHOTO_SITE_URL=https://s.example.com
CHHOTO_PASSWORD=换成强随机密码
CHHOTO_API_KEY=换成强随机API_KEY
CHHOTO_REDIRECT_METHOD=TEMPORARY
CHHOTO_SLUG_STYLE=Pair
CHHOTO_SLUG_LENGTH=16生成随机密码和 API Key:
bash
openssl rand -hex 32
openssl rand -hex 64把第一条输出填入 CHHOTO_PASSWORD,第二条输出填入 CHHOTO_API_KEY。
CHHOTO_SITE_URL 改成实际用于短链接的完整域名,例如:
env
CHHOTO_SITE_URL=https://s.example.com这里不要加引号。
SQLite
数据库保存在:
text
./data/urls.sqliteCompose 中挂载的是整个目录:
yaml
volumes:
- ./data:/data而不是单独挂载 urls.sqlite。
同时开启:
yaml
- CHHOTO_SQLITE_USE_WAL_MODE=True使用 WAL 时应保持这种目录挂载方式。
Chhoto URL 自身生成的 SQLite 备份也会保存在数据库所在目录的 backups 目录中,因此 ./data 建议纳入服务器的常规备份。
重定向方式
当前配置:
env
CHHOTO_REDIRECT_METHOD=TEMPORARY使用临时重定向,适合之后可能修改目标地址的短链接。
如果短链接对应的目标地址长期固定,可以改成:
env
CHHOTO_REDIRECT_METHOD=PERMANENTSlug
默认使用单词组合形式:
env
CHHOTO_SLUG_STYLE=Pair例如生成类似:
text
gifted-ramanujan如果希望使用随机 UID:
env
CHHOTO_SLUG_STYLE=UID
CHHOTO_SLUG_LENGTH=16短链接数量较多时更适合使用 UID,并保持足够的 slug 长度。