1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
"use strict";(self.webpackChunkupage_docs=self.webpackChunkupage_docs||[]).push([[77],{4346:(e,n,d)=>{d.r(n),d.d(n,{assets:()=>t,contentTitle:()=>i,default:()=>a,frontMatter:()=>c,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"deployment/docker","title":"Docker \u90e8\u7f72","description":"\u672c\u6587\u6863\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 Docker \u90e8\u7f72 UPage\u3002","source":"@site/content/deployment/docker.md","sourceDirName":"deployment","slug":"/deployment/docker","permalink":"/upage/deployment/docker","draft":false,"unlisted":false,"editUrl":"https://github.com/halo-dev/upage/edit/main/docs/content/content/deployment/docker.md","tags":[],"version":"current","frontMatter":{"id":"docker","title":"Docker \u90e8\u7f72"},"sidebar":"tutorialSidebar","previous":{"title":"\u90e8\u7f72\u6307\u5357","permalink":"/upage/deployment-guide"},"next":{"title":"Docker Compose \u90e8\u7f72","permalink":"/upage/deployment/docker-compose"}}');var l=d(6106),s=d(8784);const c={id:"docker",title:"Docker \u90e8\u7f72"},i="Docker \u90e8\u7f72",t={},h=[{value:"\u524d\u7f6e\u6761\u4ef6",id:"\u524d\u7f6e\u6761\u4ef6",level:2},{value:"\u5b89\u88c5 Docker",id:"\u5b89\u88c5-docker",level:3},{value:"\u4f7f\u7528 Docker \u90e8\u7f72",id:"\u4f7f\u7528-docker-\u90e8\u7f72",level:2},{value:"\u62c9\u53d6\u955c\u50cf",id:"\u62c9\u53d6\u955c\u50cf",level:3},{value:"\u51c6\u5907\u76ee\u5f55",id:"\u51c6\u5907\u76ee\u5f55",level:3},{value:"\u542f\u52a8\u5bb9\u5668",id:"\u542f\u52a8\u5bb9\u5668",level:3},{value:"\u5bb9\u5668\u7ba1\u7406",id:"\u5bb9\u5668\u7ba1\u7406",level:3},{value:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",level:2},{value:"\u57fa\u7840\u914d\u7f6e",id:"\u57fa\u7840\u914d\u7f6e",level:3},{value:"\u6a21\u578b\u63d0\u4f9b\u5546\u914d\u7f6e",id:"\u6a21\u578b\u63d0\u4f9b\u5546\u914d\u7f6e",level:3},{value:"\u5927\u6a21\u578b\u914d\u7f6e",id:"\u5927\u6a21\u578b\u914d\u7f6e",level:3},{value:"\u5347\u7ea7 UPage",id:"\u5347\u7ea7-upage",level:2},{value:"\u4e0b\u4e00\u6b65",id:"\u4e0b\u4e00\u6b65",level:2}];function o(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"docker-\u90e8\u7f72",children:"Docker \u90e8\u7f72"})}),"\n",(0,l.jsx)(n.p,{children:"\u672c\u6587\u6863\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 Docker \u90e8\u7f72 UPage\u3002"}),"\n",(0,l.jsx)(n.h2,{id:"\u524d\u7f6e\u6761\u4ef6",children:"\u524d\u7f6e\u6761\u4ef6"}),"\n",(0,l.jsx)(n.p,{children:"\u5728\u5f00\u59cb\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u7cfb\u7edf\u6ee1\u8db3\u4ee5\u4e0b\u8981\u6c42\uff1a"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Docker \u5df2\u5b89\u88c5\uff08\u63a8\u8350 Docker 20.10.0 \u6216\u66f4\u9ad8\u7248\u672c\uff09"}),"\n",(0,l.jsx)(n.li,{children:"\u81f3\u5c11 2GB \u53ef\u7528\u5185\u5b58"}),"\n",(0,l.jsx)(n.li,{children:"\u81f3\u5c11 2GB \u53ef\u7528\u78c1\u76d8\u7a7a\u95f4"}),"\n",(0,l.jsx)(n.li,{children:"\u4e92\u8054\u7f51\u8fde\u63a5\uff08\u7528\u4e8e\u62c9\u53d6 Docker \u955c\u50cf\u548c\u8bbf\u95ee\u5927\u6a21\u578b API\uff09"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"\u5b89\u88c5-docker",children:"\u5b89\u88c5 Docker"}),"\n",(0,l.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u7684\u7cfb\u7edf\u672a\u5b89\u88c5 Docker\uff0c\u8bf7\u53c2\u8003",(0,l.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"Docker \u5b98\u65b9\u6587\u6863"}),"\u8fdb\u884c\u5b89\u88c5\u3002"]}),"\n",(0,l.jsx)(n.h2,{id:"\u4f7f\u7528-docker-\u90e8\u7f72",children:"\u4f7f\u7528 Docker \u90e8\u7f72"}),"\n",(0,l.jsx)(n.h3,{id:"\u62c9\u53d6\u955c\u50cf",children:"\u62c9\u53d6\u955c\u50cf"}),"\n",(0,l.jsx)(n.p,{children:"\u9996\u5148\uff0c\u62c9\u53d6 UPage \u7684\u6700\u65b0 Docker \u955c\u50cf\uff1a"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"docker pull halohub/upage:latest\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u60a8\u4e5f\u53ef\u4ee5\u4f7f\u7528\u7279\u5b9a\u7248\u672c\u7684\u955c\u50cf\uff0c\u4f8b\u5982\uff1a"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"docker pull halohub/upage:1.0.0\n"})}),"\n",(0,l.jsx)(n.h3,{id:"\u51c6\u5907\u76ee\u5f55",children:"\u51c6\u5907\u76ee\u5f55"}),"\n",(0,l.jsxs)(n.p,{children:["\u521b\u5efa\u5fc5\u8981\u7684\u76ee\u5f55\u7528\u4e8e\u6301\u4e45\u5316\u6570\u636e\uff0c\u4f8b\u5982 ",(0,l.jsx)(n.code,{children:"~/upage"}),"\uff1a"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"mkdir -p ~/upage/data\nmkdir -p ~/upage/logs\nmkdir -p ~/upage/storage\n"})}),"\n",(0,l.jsx)(n.admonition,{type:"tip",children:(0,l.jsx)(n.p,{children:"UPage \u6240\u6709\u6570\u636e\u4e0e\u65e5\u5fd7\u5747\u5b58\u50a8\u5728\u6b64\u76ee\u5f55\u4e2d\uff0c\u8bf7\u59a5\u5584\u4fdd\u7ba1\u3002"})}),"\n",(0,l.jsx)(n.h3,{id:"\u542f\u52a8\u5bb9\u5668",children:"\u542f\u52a8\u5bb9\u5668"}),"\n",(0,l.jsx)(n.p,{children:"\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8 UPage \u5bb9\u5668\uff1a"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"docker run -d \\\n --name upage \\\n --restart unless-stopped \\\n -p 3000:3000 \\\n -e LLM_PROVIDER=OpenAILike \\\n -e PROVIDER_BASE_URL=your-openai-like-api-base-url \\\n -e PROVIDER_API_KEY=your-openai-like-api-key \\\n -e LLM_DEFAULT_MODEL=your-default-model \\\n -e LLM_MINOR_MODEL=your-minor-model \\\n -v ~/upage/data:/app/data \\\n -v ~/upage/logs:/app/logs \\\n -v ~/upage/storage:/app/storage \\\n halohub/upage:latest\n"})}),"\n",(0,l.jsx)(n.h3,{id:"\u5bb9\u5668\u7ba1\u7406",children:"\u5bb9\u5668\u7ba1\u7406"}),"\n",(0,l.jsx)(n.p,{children:"\u5e38\u7528\u7684\u5bb9\u5668\u7ba1\u7406\u547d\u4ee4\uff1a"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# \u505c\u6b62\u5bb9\u5668\ndocker stop upage\n\n# \u542f\u52a8\u5bb9\u5668\ndocker start upage\n\n# \u91cd\u542f\u5bb9\u5668\ndocker restart upage\n\n# \u67e5\u770b\u5bb9\u5668\u65e5\u5fd7\ndocker logs upage\n\n# \u67e5\u770b\u5bb9\u5668\u72b6\u6001\ndocker ps -a | grep upage\n"})}),"\n",(0,l.jsx)(n.h2,{id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",children:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e"}),"\n",(0,l.jsxs)(n.p,{children:["UPage \u652f\u6301\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u8fdb\u884c\u914d\u7f6e\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u6bd4\u8f83\u91cd\u8981\u7684\u73af\u5883\u53d8\u91cf\uff0c\u5747\u53ef\u4ee5\u4f7f\u7528 ",(0,l.jsx)(n.code,{children:"-e"})," \u53c2\u6570\u5728\u542f\u52a8\u5bb9\u5668\u65f6\u8bbe\u7f6e\uff1a"]}),"\n",(0,l.jsx)(n.admonition,{type:"tip",children:(0,l.jsxs)(n.p,{children:["\u5b8c\u6574\u7684\u914d\u7f6e\u8bf7\u53c2\u8003",(0,l.jsx)(n.a,{href:"../configuration",children:"\u914d\u7f6e\u53c2\u8003"}),"\u3002"]})}),"\n",(0,l.jsx)(n.h3,{id:"\u57fa\u7840\u914d\u7f6e",children:"\u57fa\u7840\u914d\u7f6e"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u73af\u5883\u53d8\u91cf"}),(0,l.jsx)(n.th,{children:"\u63cf\u8ff0"}),(0,l.jsx)(n.th,{children:"\u9ed8\u8ba4\u503c"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"PORT"})}),(0,l.jsx)(n.td,{children:"\u670d\u52a1\u76d1\u542c\u7aef\u53e3"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"3000"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"NODE_ENV"})}),(0,l.jsx)(n.td,{children:"Node.js \u73af\u5883"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"production"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"OPERATING_ENV"})}),(0,l.jsx)(n.td,{children:"\u8fd0\u884c\u73af\u5883"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"production"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"LOG_LEVEL"})}),(0,l.jsx)(n.td,{children:"\u65e5\u5fd7\u7ea7\u522b"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"debug"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"USAGE_LOG_FILE"})}),(0,l.jsx)(n.td,{children:"\u662f\u5426\u5f00\u542f\u6587\u4ef6\u65e5\u5fd7"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"true"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"MAX_UPLOAD_SIZE_MB"})}),(0,l.jsx)(n.td,{children:"\u9644\u4ef6\u4e0a\u4f20\u7684\u6700\u5927\u5927\u5c0f (MB)"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"5"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"STORAGE_DIR"})}),(0,l.jsx)(n.td,{children:"\u8d44\u6e90\u6587\u4ef6\u5b58\u50a8\u4f4d\u7f6e"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"/app/storage"})})]})]})]}),"\n",(0,l.jsx)(n.h3,{id:"\u6a21\u578b\u63d0\u4f9b\u5546\u914d\u7f6e",children:"\u6a21\u578b\u63d0\u4f9b\u5546\u914d\u7f6e"}),"\n",(0,l.jsx)(n.p,{children:"\u6839\u636e\u60a8\u9009\u62e9\u7684 AI \u63d0\u4f9b\u5546\uff0c\u60a8\u8fd8\u9700\u8981\u914d\u7f6e\u76f8\u5e94\u7684 API \u5bc6\u94a5\u548c\u57fa\u7840 URL\uff0c\u4f8b\u5982\uff1a"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u73af\u5883\u53d8\u91cf"}),(0,l.jsx)(n.th,{children:"\u63cf\u8ff0"}),(0,l.jsx)(n.th,{children:"\u5fc5\u586b"}),(0,l.jsx)(n.th,{children:"\u793a\u4f8b"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"LLM_PROVIDER"})}),(0,l.jsx)(n.td,{children:"\u9ed8\u8ba4 LLM \u63d0\u4f9b\u5546"}),(0,l.jsx)(n.td,{children:"\u662f"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"OpenAILike"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"PROVIDER_BASE_URL"})}),(0,l.jsx)(n.td,{children:"OpenAI \u517c\u5bb9 API \u57fa\u7840 URL"}),(0,l.jsx)(n.td,{children:"\u662f"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"https://your-api-base-url"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"PROVIDER_API_KEY"})}),(0,l.jsx)(n.td,{children:"OpenAI \u517c\u5bb9 API \u5bc6\u94a5"}),(0,l.jsx)(n.td,{children:"\u662f"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"your-openai-like-api-key"})})]})]})]}),"\n",(0,l.jsx)(n.h3,{id:"\u5927\u6a21\u578b\u914d\u7f6e",children:"\u5927\u6a21\u578b\u914d\u7f6e"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u73af\u5883\u53d8\u91cf"}),(0,l.jsx)(n.th,{children:"\u63cf\u8ff0"}),(0,l.jsx)(n.th,{children:"\u5fc5\u586b"}),(0,l.jsx)(n.th,{children:"\u793a\u4f8b"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"LLM_DEFAULT_MODEL"})}),(0,l.jsx)(n.td,{children:"\u751f\u6210\u9875\u9762\u6240\u4f7f\u7528\u7684\u4e3b\u8981\u6a21\u578b"}),(0,l.jsx)(n.td,{children:"\u662f"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"gpt-4-turbo"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"LLM_MINOR_MODEL"})}),(0,l.jsx)(n.td,{children:"\u8f85\u52a9\u9875\u9762\u751f\u6210\u6240\u4f7f\u7528\u7684\u6b21\u7ea7\u6a21\u578b"}),(0,l.jsx)(n.td,{children:"\u662f"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"gpt-3.5-turbo"})})]})]})]}),"\n",(0,l.jsx)(n.h2,{id:"\u5347\u7ea7-upage",children:"\u5347\u7ea7 UPage"}),"\n",(0,l.jsx)(n.p,{children:"\u5f53\u6709\u65b0\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u60a8\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5347\u7ea7 UPage\uff1a"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# \u62c9\u53d6\u6700\u65b0\u955c\u50cf\ndocker pull halohub/upage:latest\n\n# \u505c\u6b62\u5e76\u5220\u9664\u65e7\u5bb9\u5668\ndocker stop upage\ndocker rm upage\n\n# \u4f7f\u7528\u65b0\u955c\u50cf\u542f\u52a8\u5bb9\u5668\uff08\u4f7f\u7528\u4e0e\u4e4b\u524d\u76f8\u540c\u7684\u73af\u5883\u53d8\u91cf\u548c\u6302\u8f7d\uff09\ndocker run -d \\\n --name upage \\\n --restart unless-stopped \\\n -p 3000:3000 \\\n -e LLM_PROVIDER=OpenAILike \\\n -e PROVIDER_BASE_URL=your-openai-like-api-base-url \\\n -e PROVIDER_API_KEY=your-openai-like-api-key \\\n -e LLM_DEFAULT_MODEL=your-default-model \\\n -e LLM_MINOR_MODEL=your-minor-model \\\n -v ~/upage/data:/app/data \\\n -v ~/upage/logs:/app/logs \\\n -v ~/upage/storage:/app/storage \\\n halohub/upage:latest\n"})}),"\n",(0,l.jsx)(n.h2,{id:"\u4e0b\u4e00\u6b65",children:"\u4e0b\u4e00\u6b65"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\u9605\u8bfb",(0,l.jsx)(n.a,{href:"../user-guide/basics",children:"\u7528\u6237\u6307\u5357"}),"\u5b66\u4e60\u5982\u4f55\u4f7f\u7528 UPage \u521b\u5efa\u7f51\u9875"]}),"\n",(0,l.jsxs)(n.li,{children:["\u63a2\u7d22",(0,l.jsx)(n.a,{href:"../configuration",children:"\u914d\u7f6e\u53c2\u8003"}),"\u4e86\u89e3\u6240\u6709\u53ef\u7528\u7684\u914d\u7f6e\u9009\u9879"]}),"\n",(0,l.jsxs)(n.li,{children:["\u63a2\u7d22",(0,l.jsx)(n.a,{href:"./logto",children:"Logto \u8ba4\u8bc1\u96c6\u6210"}),"\u4e86\u89e3\u5982\u4f55\u96c6\u6210 Logto \u5b9e\u73b0\u7528\u6237\u8ba4\u8bc1"]}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},8784:(e,n,d)=>{d.d(n,{R:()=>c,x:()=>i});var r=d(7378);const l={},s=r.createContext(l);function c(e){const n=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); |