{"id":1837,"date":"2023-02-23T13:08:09","date_gmt":"2023-02-23T05:08:09","guid":{"rendered":"https:\/\/benson.ml\/?p=1837"},"modified":"2023-02-23T14:00:00","modified_gmt":"2023-02-23T06:00:00","slug":"docker%e5%bf%ab%e9%80%9f%e6%90%ad%e5%bb%bachatgpt%e7%bd%91%e9%a1%b5%e7%89%88","status":"publish","type":"post","link":"https:\/\/benson80.eu.org\/?p=1837","title":{"rendered":"Docker\u5feb\u901f\u642d\u5efaChatGPT\u7f51\u9875\u7248"},"content":{"rendered":"\n<p><strong>\u66f4\u65b0\u73af\u5883<\/strong><\/p>\n\n\n\n<p>apt update -y&nbsp; &amp;&amp; apt upgrade -y &amp;&amp; apt install -y curl wget sudo&nbsp;socat<\/p>\n\n\n\n<p><strong>\u5b89\u88c5 Docker<\/strong><\/p>\n\n\n\n<p>curl -fsSL https:\/\/get.docker.com -o get-docker.sh &amp;&amp; sh get-docker.sh<\/p>\n\n\n\n<p>curl -L &#8220;https:\/\/github.com\/docker\/compose\/releases\/download\/v2.16.0\/docker-compose-$(uname -s)-$(uname -m)&#8221; -o \/usr\/local\/bin\/docker-compose&nbsp;<\/p>\n\n\n\n<p>chmod +x \/usr\/local\/bin\/docker-compose<\/p>\n\n\n\n<p><strong>\u521b\u5efaGPT\u76ee\u5f55\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6<\/strong><\/p>\n\n\n\n<p>cd \/home\/ &amp;&amp; mkdir gpt &amp;&amp; cd gpt &amp;&amp;&nbsp;nano docker-compose.yml<\/p>\n\n\n\n<p><strong>compose\u914d\u7f6e\u4ee3\u7801<\/strong><\/p>\n\n\n\n<p>version: &#8216;3&#8217;<\/p>\n\n\n\n<p>services:<\/p>\n\n\n\n<p>&nbsp; app:<\/p>\n\n\n\n<p>&nbsp; &nbsp; image:&nbsp;jason61\/gpt-web:main<\/p>\n\n\n\n<p>&nbsp; &nbsp; ports:<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &#8211; 3002:3002<\/p>\n\n\n\n<p>&nbsp; &nbsp; environment:<\/p>\n\n\n\n<p>OPENAI_ACCESS_TOKEN:<\/p>\n\n\n\n<p class=\"has-accent-2-color has-text-color\"><strong># \u7528\u81ea\u5df1\u7684<strong>accessToken<\/strong>&nbsp; &nbsp;\u5192\u53f7\u540e\u8981\u5e26\u4e00\u4e2a\u7a7a\u683c\u518d\u8f93\u5165\u503c<\/strong><\/p>\n\n\n\n<p><strong>\u83b7\u53d6 accessToken<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/chat.openai.com\/api\/auth\/session\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/chat.openai.com\/api\/auth\/session<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"100\" src=\"https:\/\/benson.ml\/wp-content\/uploads\/2023\/02\/image-36-1024x100.png\" alt=\"\" class=\"wp-image-1843\" srcset=\"https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-36-1024x100.png 1024w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-36-300x29.png 300w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-36-768x75.png 768w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-36-421x41.png 421w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-36.png 1274w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>\u6216\u8005\u4e00\u952e\u90e8\u7f72Docker<\/strong><\/figcaption><\/figure>\n\n\n\n<p>docker run &#8211;name chatgpt-web &#8211;rm -it -p 3002:3002 &#8211;env OPENAI_ACCESS_TOKEN=your_access_token jason61\/gpt-web:main<\/p>\n\n\n\n<p><strong>\u8fd0\u884c\u6307\u4ee4<\/strong><\/p>\n\n\n\n<p>cd \/home\/gpt &amp;&amp; docker-compose up -d<\/p>\n\n\n\n<p><strong>\u539f\u4f5c\u8005GitHub\u5730\u5740<\/strong><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/Chanzhaoyu\/chatgpt-web\" target=\"_blank\">https:\/\/github.com\/Chanzhaoyu\/chatgpt-web<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"485\" src=\"https:\/\/benson.ml\/wp-content\/uploads\/2023\/02\/image-40-1024x485.png\" alt=\"\" class=\"wp-image-1862\" srcset=\"https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-40-1024x485.png 1024w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-40-300x142.png 300w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-40-768x364.png 768w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-40-421x199.png 421w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2023\/02\/image-40.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>\u521b\u5efanginx\u76ee\u5f55\u7ed3\u6784<\/strong><\/p>\n\n\n\n<p>mkdir -p \/home\/nginx<\/p>\n\n\n\n<p>touch \/home\/nginx\/nginx.conf<\/p>\n\n\n\n<p>mkdir -p \/home\/nginx\/certs<\/p>\n\n\n\n<p><strong>\u5f00\u653e\u6240\u6709\u7aef\u53e3<\/strong><\/p>\n\n\n\n<p>iptables -P INPUT ACCEPT<\/p>\n\n\n\n<p>iptables -P FORWARD ACCEPT<\/p>\n\n\n\n<p>iptables -P OUTPUT ACCEPT<\/p>\n\n\n\n<p>iptables -F<\/p>\n\n\n\n<p><strong>\u7533\u8bf7\u8bc1\u4e66<\/strong><\/p>\n\n\n\n<p>curl https:\/\/get.acme.sh | sh<\/p>\n\n\n\n<p>~\/.acme.sh\/acme.sh &#8211;register-account -m <strong>sun163sx@gmail.com<\/strong><\/p>\n\n\n\n<p>~\/.acme.sh\/acme.sh &#8211;issue -d <strong>chatgpt.szrq2022.ga<\/strong> &#8211;standalone<\/p>\n\n\n\n<p><strong>\u4e0b\u8f7d\u8bc1\u4e66<\/strong><\/p>\n\n\n\n<p>~\/.acme.sh\/acme.sh &#8211;installcert -d <strong>chatgpt.szrq2022.ga<\/strong> &#8211;key-file \/home\/nginx\/certs\/key.pem &#8211;fullchain-file \/home\/nginx\/certs\/cert.pem<\/p>\n\n\n\n<p><strong>\u8fdb\u5165\u76ee\u5f55\u7f16\u8f91\u6587\u4ef6<\/strong><\/p>\n\n\n\n<p>cd \/home\/nginx\/ &amp;&amp; nano&nbsp;nginx.conf<\/p>\n\n\n\n<p><strong>\u53cd\u5411\u4ee3\u7406\u914d\u7f6e\uff0c\u4ee3\u7406\u6307\u5b9aIP\u52a0\u7aef\u53e3<\/strong><\/p>\n\n\n\n<p>events {<\/p>\n\n\n\n<p>worker_connections  1024;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>http {<\/p>\n\n\n\n<p>client_max_body_size 1000m;<\/p>\n\n\n\n<p>#\u4e0a\u4f20\u9650\u5236\u53c2\u65701G\u4ee5\u5185\u6587\u4ef6\u53ef\u4e0a\u4f20<\/p>\n\n\n\n<p>server {<\/p>\n\n\n\n<p>listen 80; <\/p>\n\n\n\n<p>server_name chatgpt.szrq2022.ga; <\/p>\n\n\n\n<p>return 301 https:\/\/$host$request_uri;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>server {<\/p>\n\n\n\n<p>listen 443 ssl; <\/p>\n\n\n\n<p>server_name chatgpt.szrq2022.ga; <\/p>\n\n\n\n<p>ssl_certificate \/etc\/nginx\/certs\/cert.pem; <\/p>\n\n\n\n<p>ssl_certificate_key \/etc\/nginx\/certs\/key.pem; <\/p>\n\n\n\n<p>location \/ {   <\/p>\n\n\n\n<p>proxy_pass http:\/\/IP\u5730\u5740:3002;   <\/p>\n\n\n\n<p>proxy_set_header Host $host;   <\/p>\n\n\n\n<p>proxy_set_header X-Real-IP $remote_addr;   <\/p>\n\n\n\n<p>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>\u90e8\u7f72\u5bb9\u5668<\/strong><\/p>\n\n\n\n<p>docker run -d &#8211;name nginx -p 80:80 -p 443:443 -v \/home\/nginx\/nginx.conf:\/etc\/nginx\/nginx.conf -v \/home\/nginx\/certs:\/etc\/nginx\/certs -v \/home\/nginx\/html:\/usr\/share\/nginx\/html nginx:latest<\/p>\n\n\n\n<p><strong>\u67e5\u770b\u8fd0\u884c\u72b6\u6001<\/strong><\/p>\n\n\n\n<p>docker ps -a<\/p>\n\n\n\n<p><strong>\u5f00\u673a\u81ea\u542f\u52a8<\/strong><\/p>\n\n\n\n<p>docker update &#8211;restart=always nginx<\/p>\n\n\n\n<p>docker update &#8211;restart=always&nbsp;gpt-app-1<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u66f4\u65b0\u73af\u5883 apt update -y&nbsp;  &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,17],"tags":[],"class_list":["post-1837","post","type-post","status-publish","format-standard","hentry","category-linux","category-17"],"_links":{"self":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1837"}],"version-history":[{"count":26,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1837\/revisions"}],"predecessor-version":[{"id":1874,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1837\/revisions\/1874"}],"wp:attachment":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}