initial configuration

This commit is contained in:
wangweifeng 2022-12-02 17:16:37 +08:00
parent e0f27d1340
commit 7b4fbf51c6
2 changed files with 122 additions and 1 deletions

2
.gitignore vendored
View File

@ -2,7 +2,7 @@ shared/*
*.swp
*~
\#*\#
containers/*
# containers/*
cids/*
bin/*
image/.build.out

121
containers/web_only.yml Normal file
View File

@ -0,0 +1,121 @@
# IMPORTANT: SET A SECRET PASSWORD in Postgres for the Discourse User
# TODO: change SOME_SECRET in this template
templates:
- "templates/web.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
# Use 'links' key to link containers together, aka use Docker --link flag.
# links:
# - link:
# name: data
# alias: data
# any extra arguments for Docker?
# docker_args:
params:
## 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: en
## 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:
## TODO: The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME:
## 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:
## 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: smtp.example.com
#DISCOURSE_SMTP_PORT: 587
# DISCOURSE_SMTP_USER_NAME: user@example.com
# DISCOURSE_SMTP_PASSWORD: pa$$word
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
#DISCOURSE_SMTP_DOMAIN: discourse.example.com # (required by some providers)
#DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com # (address to send notifications from)
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
## TODO: configure connectivity to the databases
# DISCOURSE_DB_SOCKET: ''
DISCOURSE_DB_USERNAME:
DISCOURSE_DB_PASSWORD:
DISCOURSE_DB_HOST:
DISCOURSE_REDIS_HOST:
## 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
# volumes:
# - volume:
# host: /var/discourse/shared/web-only
# guest: /shared
# - volume:
# host: /var/discourse/shared/web-only/log/var-log
# guest: /var/log
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- git clone https://github.com/discourse/docker_manager.git
- git clone https://gitee.com/opensourceway/EaseCheck.git
- git clone https://github.com/hiddenvillage/discourse-oauth2-basic.git
## Remember, this is YAML syntax - you can only have one block with a name
run:
# - exec: echo "Beginning of custom commands"
## If you want to configure password login for root, uncomment and change:
## Use only one of the following lines:
#- exec: /usr/sbin/usermod -p 'PASSWORD_HASH' root
#- exec: /usr/sbin/usermod -p "$(mkpasswd -m sha-256 'RAW_PASSWORD')" root
## If you want to authorized additional users, uncomment and change:
#- exec: ssh-import-id username
#- exec: ssh-import-id anotherusername
- exec:
cd: /var/www/discourse
cmd:
- sed -i 's/GlobalSetting.serve_static_assets/true/' config/environments/production.rb
- bash -c "touch -a /shared/log/rails/{sidekiq,puma.err,puma}.log"
- bash -c "ln -sf /shared/log/rails/{sidekiq,puma.err,puma}.log log/"
- sed -i 's/default \$scheme;/default https;/' /etc/nginx/conf.d/discourse.conf
# - exec: echo "End of custom commands"
# - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Authorized SSH keys for this container:"; } NF>=2 {print $NF;}'