67 lines
2.0 KiB
Markdown
67 lines
2.0 KiB
Markdown
## esm.sh docker
|
||
|
||
```sh
|
||
docker pull ghcr.io/esm-dev/esm.sh
|
||
```
|
||
|
||
```sh
|
||
docker pull m.daocloud.io/ghcr.io/esm-dev/esm.sh
|
||
```
|
||
|
||
## 部署配置
|
||
|
||
`config.json`
|
||
|
||
```json
|
||
{
|
||
"port": 8080,
|
||
"npmRegistry": "https://registry.npmjs.org/"
|
||
}
|
||
```
|
||
|
||
`compose.yml`
|
||
|
||
```yml
|
||
version: '3'
|
||
services:
|
||
esm:
|
||
image: ghcr.io/esm-dev/esm.sh:latest
|
||
container_name: esm
|
||
ports:
|
||
- '12000:8080'
|
||
environment:
|
||
- LOG_LEVEL=debug
|
||
volumes:
|
||
- ./config.json:/esmd/config.json
|
||
- ./data:/esmd
|
||
```
|
||
|
||
## 介绍
|
||
|
||
Available environment variables:
|
||
|
||
COMPRESS:使用gzip/brotli压缩HTTP响应,默认值为true(启用)。
|
||
CUSTOM_LANDING_PAGE_ORIGIN:自定义着陆页来源地址,默认为空。
|
||
CUSTOM_LANDING_PAGE_ASSETS:自定义着陆页资源文件(以逗号分隔),默认为空。
|
||
CORS_ALLOW_ORIGINS:允许的CORS来源(以逗号分隔),默认允许所有来源(*)。
|
||
LOG_LEVEL:日志级别,可选值["debug", "info", "warn", "error"],默认为"info"。
|
||
ACCESS_LOG:是否启用访问日志,默认false(禁用)。
|
||
MINIFY:是否压缩构建后的JS/CSS文件,默认true(启用)。
|
||
NPM_QUERY_CACHE_TTL:NPM查询缓存有效期,默认10分钟。
|
||
NPM_REGISTRY:全局NPM镜像源,默认为"https://registry.npmjs.org/"。
|
||
NPM_TOKEN:全局NPM镜像源的访问令牌。
|
||
NPM_USER:全局NPM镜像源的访问用户名。
|
||
NPM_PASSWORD:全局NPM镜像源的访问密码。
|
||
SOURCEMAP:是否为构建的JS/CSS文件生成源码映射,默认true(启用)。
|
||
STORAGE_TYPE:存储类型,可选值["fs", "s3"],默认为"fs"(本地文件系统)。
|
||
STORAGE_ENDPOINT:存储服务端点,默认路径为"~/.esmd/storage"。
|
||
STORAGE_REGION:S3存储区域(仅S3存储需要)。
|
||
STORAGE_ACCESS_KEY_ID:S3存储的访问密钥ID。
|
||
STORAGE_SECRET_ACCESS_KEY:S3存储的私有访问密钥。
|
||
|
||
You can also create your own Dockerfile based on ghcr.io/esm-dev/esm.sh:
|
||
|
||
FROM ghcr.io/esm-dev/esm.sh:latest
|
||
ADD --chown=esm:esm ./config.json /etc/esmd/config.json
|
||
CMD ["esmd", "--config", "/etc/esmd/config.json"]
|