
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
HotPocket is a minimal, open-source bookmarking app. Save links from all the major browsers, across mobile and desktop devices. Built to be self-hosted, HotPocket puts you in control of your data.
There are two deployment images - aio and deployment.
The aio image is pre-configured for running small instances in a single
container:
Host HTTP header.The aio image is recommended for self-hosting with minimal use, e.g. by a
single user.
Example:
$ docker run --rm -it \ -v `realpath run/`:/srv/run \ -e HOTPOCKET_BACKEND_SECRET_KEY=thisisntright \ -e HOTPOCKET_BACKEND_INITIAL_ACCOUNT_USERNAME=hotpocket \ -e HOTPOCKET_BACKEND_INITIAL_ACCOUNT_PASSWORD=hotpocketm4st3r \ -p 8000:8000 \ bthlabs/hotpocket:aio-v25.11.26-01
The command above will set up and start the application. The SQLite file will
be placed in run/hotpocket-backend-aio.sqlite and database migrations will
be ran. The initial superuser account will be created with the specified
credentials. The Web app will be reachable at http://127.0.0.1:8000/.
The admin will be reachable at http://127.0.0.1:8000/admin/.
The DJANGO_SETTINGS_MODULE environment variable defaults to
hotpocket_backend.settings.deployment.aio.
NOTE: The command above specifies wildly insecure SECRET_KEY which is
used among other things to secure the session cookie. Please please
please don't run it like this. Not even in your homelab :).
The deployment/aio/docker-compose.yaml file can be used as a starting point for AIO deployments.
The deployment image doesn't make any assu***ions about the env and in turn
will require the operator to configure database, Celery broker and result
backend etc. The final deployment will require services for at least the Web
app, the Celery worker and Celery Beat. Admin is optional.
The DJANGO_SETTINGS_MODULE environment variable defaults to
hotpocket_backend.settings.deployment.webapp. This should be set to
hotpocket_backend.settings.deployment.admin in the Admin container.
The deployment/fullstack/docker-compose.yaml file can be used as a starting point for full-stack deployments.
HotPocket deployment images provide extensive set of environment variables that can be used to configure the services.
| Variable | Default | Description |
|---|---|---|
HOTPOCKET_BACKEND_ENV | deployment or aio | The environment name. See below. |
HOTPOCKET_BACKEND_APP | webapp | The app name. See below. |
HOTPOCKET_BACKEND_DEBUG | false | Django DEBUG setting. Do not enable in production. Only effective in the AIO image. |
HOTPOCKET_BACKEND_ALLOWED_HOSTS | N/A or * | Django ALLOWED_HOSTS setting. Required in the Deployment image. |
HOTPOCKET_BACKEND_SECRET_KEY | N/A | Django SECRET_KEY setting. Recommended different for the Web app and Admin. Required. |
HOTPOCKET_BACKEND_DATABASE_ENGINE | django.db.backends.postgresql or django.db.backends.sqlite3 | The database configuration engine. |
HOTPOCKET_BACKEND_DATABASE_NAME | N/A or /srv/run/hotpocket-backend-aio.sqlite | The database name. |
HOTPOCKET_BACKEND_DATABASE_USER | N/A or N/A | The database user. |
HOTPOCKET_BACKEND_DATABASE_PASSWORD | N/A | The database password. |
HOTPOCKET_BACKEND_DATABASE_HOST | N/A | The database host. |
HOTPOCKET_BACKEND_DATABASE_PORT | 5432 or N/A | The database port. |
HOTPOCKET_BACKEND_MODEL_AUTH_IS_DISABLED | false | Set to true to disable username and password login. |
HOTPOCKET_BACKEND_OIDC_PAYLOAD | N/A | The OIDC configuration payload. |
HOTPOCKET_BACKEND_CELERY_BROKER_URL | N/A | The Celery broker URL. |
HOTPOCKET_BACKEND_CELERY_RESULT_BACKEND | N/A | The Celery result backend URL. |
HOTPOCKET_BACKEND_CELERY_IGNORE_RESULT | false | Set to true to prevent Celery from saving task results. |
HOTPOCKET_BACKEND_CELERY_ALWAYS_EAGER | false | Set to true to run Celery tasks in the foreground. |
HOTPOCKET_BACKEND_UPLOADS_PATH | /srv/uploads or /srv/run/uploads | The absolute path to user-uploaded files. |
HOTPOCKET_BACKEND_GUNICORN_WORKERS | 4 or 2 | The number of Gunicorn workers to run for Web servers. |
HOTPOCKET_BACKEND_RUN_MIGRATIONS | false or true | Set to true to run database muigrations when the container starts. |
HOTPOCKET_BACKEND_INITIAL_ACCOUNT_USERNAME | N/A | Username for the initial account. |
HOTPOCKET_BACKEND_INITIAL_ACCOUNT_PASSWORD | N/A | Password for the initial account. |
HOTPOCKET_BACKEND_OPERATOR_EMAIL | N/A | Instance operator's e-mail. Used to display extra language on login page. |
Env and App settings
The HOTPOCKET_BACKEND_ENV and HOTPOCKET_BACKEND_APP variables are used
internally to resolve other settings and identify the running app.
HOTPOCKET_BACKEND_ENV should only be changed if when creating heavily
customized version of the project. HOTPOCKET_BACKEND_APP should generally be
set to admin only in the Admin container.
OIDC login configuration
The HOTPOCKET_BACKEND_OIDC_PAYLOAD can be used to enable OIDC login. It must
be a JSON string that deserializes to the following object:
{ "endpoint": "https://some.oidc.host/some-realm/", "key": "client-key", "secret": "client-secret", "scope": ["roles"], "display_name": "My OIDC server" }
The scope field specified additional scopes to request from IdP. It can be
ommited and defaults to ["roles"]. The display_name field specifies the
method's name in the UI and defaults to OIDC.
NOTE: Currently, only Keycloak has been tested with this login method.
Both images declare /srv/run to be a volume. It's intended to keep the
service's runtime data, including but not limited to PID files, UNIX sockets
etc. It's recommended to persist this volume.
Additionally, the deployment image declares /srv/uploads to be a volume.
It's recommeded to persist this volume.
HotPocket is developed by BTHLabs.
HotPocket is licensed under the Apache 2.0 License.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务