ç§ã¯ãŠã§ããµã€ãã®åå¿è ã§ãè¶£å³ã§æè¡äº€æµã³ãã¥ããã£ãç«ã¡äžããããšæã£ãŠããŸããDiscourseãæ§ç¯ãããã®ãã¥ãŒããªã¢ã«ãå ±æããããšèããŠããŸããDiscourseã®ã€ã³ã¹ããŒã«ãå¿ èŠãªå人ã«åœ¹ç«ã¡ãåãé¿ããããšãé¡ã£ãŠããŸããDiscourseã®äžåœèªãã¥ãŒããªã¢ã«ã¯å°ãªããäžéšã®ãã¥ãŒããªã¢ã«ã¯å€ããªã£ãŠããŸãã翻蚳ãœãããŠã§ã¢ã«é Œããæ°æ¥éç ç©¶ããŸããã
ç¬èªã®Discourseãæ§ç¯ããããã«å¿ èŠãªãã®ïŒ
Alibaba Cloud Lite Server (Hong Kong) 1å°ãäžåœæ¬åã®ãµãŒããŒã§ã¯GitHubãã©ã°ã€ã³ã®ããŠã³ããŒããã«ã¿ãã ãªã®ããã«é ããããAlibaba Cloud Hong Kong Lite ServerãŸãã¯ä»ã®Lite Serverãæšå¥šããŸããLite Serverã¯å®äŸ¡ã§åå¿è åãã§ããã¡ã¢ãªã¯2GB以äžå¿ èŠã§ããããã§ãªããšã€ã³ã¹ããŒã«ã§ããŸãããäžåœæ¬åã®ãµãŒããŒã«ã€ã³ã¹ããŒã«ããå¿ èŠãããå Žåã¯ãéŠæž¯ãµãŒããŒã®åŸé課éå¶ã䜿çšãããã©ãããã©ãŒã ã®ã€ã¡ãŒãžäœææ©èœã䜿çšããŠäžåœæ¬åã®ãµãŒããŒã«ã¯ããŒã³ããããšã§ãåãé¿ããæéãç¯çŽã§ããŸãã
èŠããããçããã¡ã€ã³åãšãµãŒããŒIPãžã®è§£æãcomãšnetãæšå¥šããŸããä»ã®ãã¡ã€ã³åã¯èªè床ãäœãã§ãããã¡ã€ã³åã¯ãã¡ã€ã³äžæ¬æ€çŽ¢ã§ãã«ãŒã«æ€çŽ¢ã§çããã®ãæ¢ãããšãã§ããŸãã
ã·ã¹ãã ïŒUbuntu 20.04ãäžè¬çã§ãã
æ°ãããµãŒããŒãééãããããŸããã¡ã€ã¢ãŠã©ãŒã«ããŒãããã¹ãŠéããŠãã ããïŒåŸã§ãããã°ãå®äºããããå¿ èŠã«å¿ããŠããŒããéãã䜿çšããããŒãã®ã¿ãæ®ããããã«ãŒæ»æãé²ããŸãïŒãã³ã³ãããŒã«ããã«ã§rootãã¹ã¯ãŒããèšå®ããWebãã©ãŠã¶ããSSHã§ãµãŒããŒã«ãªã¢ãŒãæ¥ç¶ããããXTerminalãªã©ã®SSHãœãããŠã§ã¢ãããŠã³ããŒãããŠãã ããã
次ã«ã以äžã®3ã€ã®ã³ãã³ãã貌ãä»ããŠEnterããŒãæŒããŠå®è¡ããŸãããªãã·ã§ã³ãããå Žåã¯yesãæŒããŠãã·ã¹ãã ãœãŒã¹ãã¢ããã°ã¬ãŒãããgitãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããŸãã
apt update
apt upgrade -y
apt install git
次ã«ã以äžã®3ã€ã®ã³ãã³ãã貌ãä»ããŠEnterããŒãæŒããŠå®è¡ããŸãã管çè æš©éã䜿çšããŸãããã®ã¹ãããã®sudo -sã¯ãæäœã誀ããšã€ã³ã¹ããŒã«äžã«äžæãªå€±æã®ãã³ãã衚瀺ãããã€ã³ã¹ããŒã«ã倱æããå¯èœæ§ããããŸããããã¯æš©éäžè¶³ãåå ã§ãã
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
ããŠã³ããŒãåŸãã€ã³ã¹ããŒã«ãŠã£ã¶ãŒããå®è¡ããŸãã
./discourse-setup
次ã«ãããã³ããã«åŸã£ãŠãã€ã³ããããã¡ã€ã³åãå ¥åããŸããååã€ã³ã¹ããŒã«ã¯æéãããããŸãããŸããã¡ã€ã³ãã¡ã€ã³ä»¥å€ã®ãã®ã¯é©åœã«å ¥åããåŸã§æåãããåæ§ç¯ããããšããå§ãããŸããçè§£ã§ããªãå Žåã¯ãã¹ã¯ãªãŒã³ã·ã§ãããæ®ã£ãŠWeChatã§ç»åã翻蚳ããŠãã ãããã¡ãŒã«ã¯Alibaba Cloudã¡ãŒã«ãµãŒãã¹ã䜿çšã§ããŸãã
次ã«ãã€ã³ã¹ããŒã«ãç¶ããããCtrl+Cã§ãã£ã³ã»ã«ããããå°ããããã³ããã衚瀺ãããŸããã€ã³ã¹ããŒã«ãç¶ããããšããå§ãããŸãã
ã€ã³ã¹ããŒã«ãå®äºãããããã€ã³ããããã¡ã€ã³åã«ã¢ã¯ã»ã¹ããŠç»é²ããŒãžã衚瀺ãããã°ãDiscourseã®ã€ã³ã¹ããŒã«ã¯æåã§ãã
次ã«ãliunxããã«ãã€ã³ã¹ããŒã«ããŸãããã®ã¹ãããã¯äž»ã«ä»ã®ãŠã§ããµã€ãããã°ã©ã ãã€ã³ã¹ããŒã«ãããããåå¿è ã§ãç°¡åã«ç®¡çã§ããããã«ããããã§ãããã®ããã«ã¯å®å¡ãããã¯ããã«ã·ã³ãã«ã§ãåºåãå°ãªããã€ã³ã¹ããŒã«éåºŠãæ°ç§ã§ãå®å¡ã®ããã«é·æéã³ã³ãã€ã«ç°å¢ãå¿ èŠãšããŸããã
以äžã®ã¹ã¯ãªãããå®è¡ããŸãã
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
ã€ã³ã¹ããŒã«äžã«ãDockerãæ¢ã«ã€ã³ã¹ããŒã«ãããŠããããšãæ€åºãããããã¯ãšã³ããã°ã€ã³ã衚瀺ãããŸãã
ããã³ããã«åŸã£ãŠãããã¯ãšã³ãã«ãã°ã€ã³ããŸããã³ã³ãã管çã§appïŒDiscourseïŒãèŠã€ãããããã§èµ·åãŸãã¯åæ¢ã§ããŸãã
次ã«ããã¡ã€ã«ã«å ¥ããapp.ymlãç·šéããŸããäž»ãªå€æŽç®æã¯äžåœèªã§ã³ã¡ã³ããããŠããŸãã
## this is the all-in-one, standalone Discourse Docker container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild app
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Uncomment the next line to enable the IPv6 listener
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## Uncomment these two lines if you wish to add Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Set db_shared_buffers to a max of 25% of the total memory.
## will be set automatically by bootstrap based on detected RAM, or you can override
db_shared_buffers: "128MB"
## ã¢ããããŒããã¡ã€ã«ã®æå€§ãµã€ãºã倿Ž
upload_size: 300m
## can improve sorting performance, but adds memory usage per-connection
#db_work_mem: "40MB"
## Which Git revision should this container use? (default: tests-passed)
#version: tests-passed
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
DISCOURSE_DEFAULT_LOCALE: zh_CN
## How many concurrent web requests are supported? Depends on memory and CPU cores.
## will be set automatically by bootstrap based on detected CPUs, or you can override
UNICORN_WORKERS: 2
## TODO: The domain name this Discourse instance will respond to
## Required. Discourse will not work with a bare IP number.
## ã¡ã€ã³ãã¡ã€ã³ã倿Ž
DISCOURSE_HOSTNAME: bbs.izdh.net
## Uncomment if you want the container to be started with the same
## hostname (-h option) as specified above (default "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: List of comma delimited emails that will be made admin and developer
## on initial signup example 'user1@example.com,user2@example.com'
## 管çè
ã¡ãŒã«ã倿Ž
DISCOURSE_DEVELOPER_EMAILS: 'xxxx@gmail.com'
## TODO: The SMTP mail server used to validate new accounts and send notifications
# SMTP ADDRESS, username, and password are required
# WARNING the char '#' in SMTP password can cause problems!
## éä¿¡ã¡ãŒã«ãµãŒããŒã倿Ž
DISCOURSE_SMTP_ADDRESS: smtpdm.aliyun.com
## éä¿¡ã¡ãŒã«ããŒãã倿Ž
DISCOURSE_SMTP_PORT: 80
## èªåéä¿¡ã¡ãŒã«ã¢ã«ãŠã³ãã«å€æŽ
DISCOURSE_SMTP_USER_NAME: xxxx@xxx.net
## éä¿¡ã¡ãŒã«ãã¹ã¯ãŒãã倿Ž
DISCOURSE_SMTP_PASSWORD: "dj6bCRxoHt25NcD6"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
DISCOURSE_SMTP_DOMAIN: smtpdm.aliyun.com
## èªåéä¿¡ã¡ãŒã«ã¢ã«ãŠã³ãã«å€æŽ
DISCOURSE_NOTIFICATION_EMAIL: xxxx@xxx.net
DISCOURSE_SMTP_ENABLE_START_TLS: false
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
## The http or https CDN address for this Discourse instance (configured to pull)
## see https://meta.discourse.org/t/14857 for details
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## The maxmind geolocation IP address key for IP address lookup
## see https://meta.discourse.org/t/-/137387/23 for details
#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## The Docker container is stateless; all data is stored in /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
## 2ã€ã®ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved
- git clone https://github.com/discourse/discourse-reactions
## Any custom commands to run after building
run:
- exec: echo "Beginning of custom commands"
## If you want to set the 'From' email address for your first registration, uncomment and change:
## After getting the first signup email, re-comment the line. It only needs to run once.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
倿Žãä¿åããããã¿ãŒããã«ã«æ»ããã³ãã³ãã䜿çšããããããã¯ãšã³ãã§ã³ã³ããã忢ããŠããåæ§ç¯ããŸãããã ãããã®ããã«ãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãã³ã³ããã忢ããã«åæ§ç¯ãããšãšã©ãŒãçºçããããã§ãã
./launcher stop app
./launcher bootstrap app`
åæ§ç¯ãå®äºãããŸã§åŸ ã¡ãã³ã³ããèµ·åã³ãã³ããå®è¡ããŸãã
./launcher start app
Discourseã«å ¥ããšãã¡ãŒã«èªèšŒãæ±ããããã³ããã衚瀺ãããŸããåä¿¡ã§ããªãå Žåã¯ã以äžã®ã³ãã³ãã䜿çšããŠç®¡çè ã¢ã«ãŠã³ããçŽæ¥äœæããã¹ãããã§ããŸãããã®åŸãå·ŠåŽã®èšå®ã§èšèªãäžåœèªã«èšå®ããŠãã ãããã¡ãŒã«ãã¹ããã§ããå Žæãããããšã©ãŒã®åå ã衚瀺ãããã®ã§ãäœåºŠã詊ãã°æåããŸãã
./launcher enter app
rake admin:create
ä»ã®ãŠã§ããµã€ããäœæããå¿ èŠãããå Žåã¯ãå ¬åŒãã¥ãŒããªã¢ã«ãåç §ããŠãã ãããç°¡åãªã®ã§è©³ãã説æããŸããããŠã§ããµã€ãã§æ°ããç°å¢ãäœæãããŠã§ããµã€ãã®æš©éã777ã«å€æŽããã°ãããŸããŸãªããã°ã©ã ãã€ã³ã¹ããŒã«ã§ããŸãã
äž»ãªè§£æ±ºçã¯ã1ã€ã®ãµãŒããŒã§è€æ°ã®ãŠã§ããµã€ããå®è¡ã§ããããããµãŒããŒè³Œå ¥è²»çšãç¯çŽã§ããåå¿è ã«ããé©ããŠããããšã§ãã
åŸã§ã¡ãŒã«éä¿¡ããã¹ããããšãã«çºèŠããåé¡ïŒ
ã³ã³ããã®èšå®ã¯ãapp.ymlãç·šéããŠãåæ§ç¯ããŠã广ããªãããã§ããã³ã³ããç°å¢å€æ°ã§å€æŽããå¿ èŠããããŸãããã ãã5ã6ç§ã§æå¹ã«ãªãããã©ã°ã€ã³ã®ã€ã³ã¹ããŒã«ã«åœ±é¿ããããã©ããã¯ãŸã äžæã§ãã
ä»ã®ãŠã§ããµã€ããšã®å ±åã¯ããŸããªããŒã¹ãããã·ãäœæããããã©ã«ãã®ã³ã³ãã443ããŒãã10443ã«å€æŽããèšŒææžãèšå®ããã°æ£åžžã«ã¢ã¯ã»ã¹ã§ããŸãã
ãªããŒã¹ãããã·
èšŒææžã®èšå®









