+++ date = "2019-11-30T20:46:14+00:00" publishdate = "2023-12-29T07:08:55+00:00" title = "Installing Isso From Source" slug = "installing-isso-from-source" author = "Thedro" tags = ["git","isso"] type = "posts" summary = "Isso is a lightweight open source commenting server. Let's install it from source." draft = "" syntax = "1" toc = "" updated = "2022-03-20" +++ ![Top level Isso source directory](/images/installing-isso-from-source.png " Isso [GitHub repository](https://github.com/posativ/isso#isso--a-commenting-server-similar-to-disqus)" ) [Isso](https://posativ.org/isso/) is a lightweight open source commenting server. Sometimes changes to an open source program can take a while to make it into a packaged version. Let's install `isso` from source and get the latest fixes and features. The [documentation](https://posativ.org/isso/docs/install/#install-from-source) can be tricky. Here's my {{< sidenote mark="naive" set="right" >}}Installing this way can allow you to grok the most important commands for later installations.{{< /sidenote>}} approach at installing. I'm using {{< sidenote mark="Alpine" set="left" >}}[Alpine Linux](https://alpinelinux.org/about/) version `3.10.0`{{< /sidenote>}} Linux, but the distribution doesn't matter. ![Animated install procedure](/images/naive-install-isso.gif " Blind `isso` Install" ) In essence the installation process can be {{< sidenote mark="distilled" set="left" >}}Don't forget to create a separate user for `isso`.{{< /sidenote>}} to the following crucial commands. In [later versions](https://github.com/posativ/isso/commit/bbad14e8e1384d49cd274f573cfe8ea121fef532), you won't need to contort so much when building `isso` since the necessary `JavaScript` files are built during the `python` {{< sidenote mark="package" set="right" >}} Since `isso` [version `0.12.6`](https://github.com/posativ/isso/releases/tag/0.12.6). {{< /sidenote>}} build. ```shell mkdir /opt/isso cd /opt/isso git clone https://github.com/posativ/isso . python3 -m venv . source bin/activate python setup.py develop npm install bower requirejs jade PATH=$PATH:/opt/isso/node_modules/.bin make init make js touch isso.conf isso --version ``` Then create an example `isso.conf`, run `isso`, and {{< sideimage mark="test" set="right" source="/images/isso-setup-run.gif" >}}Running `isso` and testing some endpoints.{{< /sideimage >}} some endpoints to make sure it is working. ```ini # Isso configuration file # vim: set filetype=ini [general] dbpath = /opt/isso/isso-comments.db name = example.com host = https://example.com/ max-age = 15m notify = stdout [admin] enabled = true password = changethis [moderation] enabled = false purge-after = 30d [server] reload = off profile = off listen = http://127.0.0.1:8100 #public-endpoint = https://example.com/isso [smtp] username = password = host = localhost port = 587 security = starttls to = from = timeout = 10 [guard] enabled = true ratelimit = 2 direct-reply = 3 reply-to-self = false require-email = false require-author = false [markup] options = strikethrough, autolink, fenced_code, no_intra_emphasis allowed-elements = allowed-attributes = [hash] salt = GkSOkjoIPI2GvAlnxwUsMiwn algorithm = pbkdf2 ``` If you're trying this on Alpine Linux, then the following {{< sidenote mark="dependencies" set="right" >}}These vary across different distributions, but can be cross referenced without much ado.{{< /sidenote>}} are needed. ```shell apk add git python3 gcc python3-dev musl-dev libffi-dev npm make ```