## 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"]