در مقاله پیشین به توضیحی در خصوص پلتفرم Wiki.js و کاربرد آن پرداختیم که بستر مناسبی برای تولید محتوا، آرشیو مطالب، آپلود بسته های آموزشی و … است. همچنین پیش نیاز ها و منابع مناسب جهت نصب را نیز بررسی نمودیم و در این مقاله قصد داریم طریقه نصب بر روی سیستم عامل لینوکس را به کمک Docker شرح دهیم که تفاوت آن با نصب اصلی نیز در ساده و آماده بودن آن است و همچنین در این روش نیاز به بررسی config سرور نمی باشد. با ما همراه باشید.
upadate The machine
ابتدا با کمک کامند های زیر، سیستم عامل را Update می کنیم:
sudo apt -qqy update
sudo DEBIAN_FRONTEND=noninteractive apt-get -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade
Install Docker
کامند های زیر، عملیات نصب همچنین رفرش و آپدیت پکیج های Docker را انجام می دهد:
sudo apt -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install apt-transport-https ca-certificates curl gnupg-agent software-properties-common openssl
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt -qqy update
sudo apt -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install docker-ce docker-ce-cli
containerd.io
Setup Containers
در مرحله زیر که به نوعی اصلی ترین مرحله است، نصب فایل های Wiki و نصب دیتابیس انجام می شود.
ابتدا directory فایلهای Wiki.js را ایجاد می کنیم:
mkdir -p /etc/wiki
سپس مراحل نصب دیتابیس و نصب اصلی را طی می کنیم:
openssl rand -base64 32 > /etc/wiki/.db-secret
docker network create wikinet
docker volume create pgdata
docker create --name=db -e POSTGRES_DB=wiki -e POSTGRES_USER=wiki -e POSTGRES_PASSWORD_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -v pgdata:/var/lib/postgresql/data --restart=unless-stopped -h db --network=wikinet postgres:11
docker create --name=wiki -e DB_TYPE=postgres -e DB_HOST=db -e DB_PORT=5432 -e DB_PASS_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -e DB_USER=wiki -e DB_NAME=wiki -e UPGRADE_COMPANION=1 --restart=unless-stopped -h wiki --network=wikinet -p 80:3000 -p 443:3443 requarks/wiki:2
docker create --name=wiki-update-companion -v /var/run/docker.sock:/var/run/docker.sock:ro --restart=unless-stopped -h wiki-update-companion --network=wikinet requarks/wiki-update-companion:latest
Setup Firewall
در این قدم نیاز است تنظیمات فایروال را از طریق وارد کردن کامند های زیر انجام دهید:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw --force enable
Start the containers
در این مرحله، سرویس های مورد نظر را Run می کنیم.
docker start db
docker start wiki
docker start wiki-update-companion
10 دقیقه پس از این مرحله با وارد کردن آیپی در مرورگر می توانید صفحه لاگین را مشاهده کنید که در این قسمت می توانید Domain یا Subdomain مورد نظر و ایمیل خود را وارد کنید.