Talkyard is a free and open-source community discussion platform that helps you to share knowledge with your co-workers, customers, volunteers, users. It is an alternative to other discussion platforms including StackOverflow, Slack, Discourse, and Reddit. You can use it as a knowledge base, customer support, discussion forum, and much more.

In this post, we will show you how to install Talkyard Forum with Nginx on Ubuntu 18.04.

Step 1 – Install Required Dependencies

First, you will need to install some required dependencies to your server. You can install all of them with the following command:

apt-get install git curl gnupg2 unzip -y

Once all the dependencies are installed, you can proceed to the next step.

Step 2 – Download Talkyard

First, you will need to download the Talkyard from the Git Hub repository. You can download it with the following command:

git clone -b w-km2  --single-branch https://github.com/debiki/talkyard-prod-one.git talkyard

Once the download is completed, change the directory to talkyard and install the required packages with the following command:

cd talkyard
./scripts/prepare-ubuntu.sh

Step 3 – Install Docker and Docker Compose

Next, you will need to install the Docker and Docker compose to your system. You can install them by running the following script:

./scripts/install-docker-compose.sh

Once both are installed, edit the play-framework.conf file and change some required values:

nano conf/play-framework.conf

Change the following lines:

talkyard.becomeOwnerEmailAddress="[email protected]"
talkyard.hostname="talkyard.example.com"
play.http.secret.key="your-secure-key"

Save and close the file, then edit the .env file and define your database password:

nano .env

Change the following line:

POSTGRES_PASSWORD=your-database-password

Save and close the file when you are finished.

Step 4 – Copy Docker Compose File

Next, you will need to copy a desired Docker Compose file depending on how much RAM your server has. If your server has 2GB RAM, copy the following file:

cp mem/2g.yml docker-compose.override.yml

If your server has 4GB RAM, copy the following file:

cp mem/4g.yml docker-compose.override.yml

Step 5 – Install Talkyard

Now, you will need to install the Talkyard with all the required app. You can start the installation by running the following script:

./scripts/upgrade-if-needed.sh

You should get the following output:

2021-03-13T07:23:03+00:00 upgrade-script: Installing: Starting version v0.2021.08-639ccf013...
Creating network "talkyard_internal_net" with driver "bridge"
Creating talkyard_cache_1  ... done
Creating talkyard_rdb_1    ... done
Creating talkyard_search_1 ... done
Creating talkyard_app_1    ... done
Creating talkyard_web_1    ... done
2021-03-13T07:23:09+00:00 upgrade-script: Installing: Setting current version number to v0.2021.08-639ccf013...
2021-03-13T07:23:09+00:00 upgrade-script: Done. Bye.

Once the installation is completed, you can check all running containers with the following command:

docker ps

You should see the following output:

CONTAINER ID   I
MAGE                                         COMMAND                  CREATED          STATUS                         PORTS                                      NAMES
5793fefc561b   debiki/talkyard-web:v0.2021.08-639ccf013      "/bin/sh -c '/etc/ng…"   31 seconds ago   Up 28 seconds                  0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   talkyard_web_1
b3fee6dd28b8   debiki/talkyard-app:v0.2021.08-639ccf013      "/bin/sh -c 'rm -f /…"   32 seconds ago   Up 3 seconds                   3333/tcp, 9000/tcp, 9443/tcp, 9999/tcp     talkyard_app_1
0898dbac769d   debiki/talkyard-cache:v0.2021.08-639ccf013    "docker-entrypoint.s…"   36 seconds ago   Up 32 seconds                  6379/tcp                                   talkyard_cache_1
e583d8a4d553   debiki/talkyard-rdb:v0.2021.08-639ccf013      "/chown-logs-then-ex…"   36 seconds ago   Restarting (1) 5 seconds ago                                              talkyard_rdb_1
878e757d274d   debiki/talkyard-search:v0.2021.08-639ccf013   "/docker-entrypoint.…"   36 seconds ago   Up 33 seconds                  9200/tcp, 9300/tcp                         talkyard_search_1

Step 6 – Setup Cron Job

Next, you will need to set up a cron job to schedule auto backup and enable automatic upgrades. You can set up it by running the following scripts:

./scripts/schedule-logrotate.sh
./scripts/schedule-daily-backups.sh
./scripts/schedule-automatic-upgrades.sh

You can also check the Talkyard container log with the following command:

docker-compose logs app
docker-compose logs rdb

Step 7 – Access Talkyard

At this point, Talkyard is installed and configured. Now, open your web browser and access the URL http://talkyard.example.com. You will be redirected to the following page:

Click on the Continue button. You should see the following page:

Provide your admin email, username, and password, and click on the Create Account button. You will be redirected to the following page:

Provide your community name and click on the Next button. You should see the Talkyard dashboard on the following page:

Conclusion

Congratulations! You have successfully installed and configured Talkyard on Ubuntu 18.04. You can now create your own discussion forum with Talkyard easily using your VPS hosting account from Atlantic.Net.