Exported on 24-Sep-2021 13:40:09
Parameters
1 - Install Docker - Fedora
Installs docker, required to run the discourse image
Login as user {Linux User} on node {Linux Node}
# Update dnf repository
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
# Configure docker repo baseurl
sudo sed -i '3,/baseurl=/c\baseurl=https://download.docker.com/linux/centos/7/$basearch/stable' /etc/yum.repos.d/docker-ce.repo
# Install containerd
sudo dnf -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.9-3.1.el7.x86_64.rpm
# Install docker cli
sudo dnf -y install docker
2 - Enable Docker Service - Fedora
Starts docker daemon and configures it to launch at startup
Login as user {Linux User} on node {Linux Node}
# Enable docker
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker
3 - Clone Discourse
Downloads the latest release of the Discourse source code
Login as user {Linux User} on node {Linux Node}
# Install git
sudo yum -y install git
# Clone latest release from Discourse github repo
git clone https://github.com/discourse/discourse_docker.git
4 - Upload Discourse Configuration File
Uploads discourse initial configuration file.
Replace following variables with your own, currently we are using a dummy SMTP server credential from Mailjet:
DISCOURSE_HOSTNAME: 'discourse.test' DISCOURSE_DEVELOPER_EMAILS: 'me@example.com,you@example.com'
DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com DISCOURSE_SMTP_PORT: 587 DISCOURSE_SMTP_USER_NAME: 03114bcb5c42df3c21e42fd0bb27ff95 DISCOURSE_SMTP_PASSWORD: 098f7c25bbea521bc4bbc6ae9d52c591
Login as user {Linux User} on node {Linux Node}
5 - Configure Discourse and Docker
Places the default configuration file to discourse project location.
Also configures docker cgroup mount location and sets discourse up to run with ""--privileged" flag.
Login as user {Linux User} on node {Linux Node}
# Move config file
sudo mv ~/uploads/discourse-app.yml ~/discourse_docker/containers/app.yml
# Mount cgroup for docker
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
# Fix docker permisson issue
sed -i '/user_args=""/c\user_args="--privileged"' ~/discourse_docker/launcher
6 - Build and Run Discourse
Installs screen required to run the build process in background.
Once the build is complete, it launches the Discourse application server. You can see the background process by running: screen -x
Login as user {Linux User} on node {Linux Node}
# Install screen
sudo yum -y install screen
# Enable zombie mode
sudo echo "zombie xy" >> ~/.screenrc
#CD Into discourse directory
cd ~/discourse_docker/
# Create deployment script
echo 'sudo ./launcher rebuild app; sudo ./launcher run app' | sudo tee -a deploy-discourse.sh
# Creates a fresh Discourse image from the source
screen -d -m bash deploy-discourse.sh
Install Discourse On Fedora Server With AttuneOps
This Blueprint Installs Discourse Forum On A Fedora Server
Discourse is a web application that makes it easy for communities to discuss anything. It takes care of creating a space where people can interact, ask questions and provide answers for one another. And since the app is open-source, you can customize it with your own branding and domain name to match your organization's needs.
Discourse allows you to setup a fully-functional community or forum website in quick and easy way using Docker.
Pre-Blueprint Attune setup
Steps Involved