Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jsntn/docker-isso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

wonderfall/isso

What is this?

Isso is a commenting server similar to Disqus. More info on the official website.

Docker image

Docker Hub: wonderfall/isso

Docker Pull Command:

docker pull wonderfall/isso

Features

  • Based on Alpine Linux 3.3.
  • Latest Isso installed with pip.

Build-time variables

  • ISSO_VER : version of Isso.

Environment variables

  • GID : isso group id (default : 991)
  • UID : isso user id (default : 991)

Volumes

  • /config : location of configuration files.
  • /db : location of SQLite database.

Ports

8080 is exposed in this Isso Docker image.

Example of simple configuration

Here is the full documentation : https://posativ.org/isso/docs/

# cat /mnt/docker/isso/config/isso.conf
[general]
; database location, check permissions, automatically created if not exists
dbpath = /db/comments.db
; your website or blog (not the location of Isso!)
; you can add multiple hosts for local development
; or SSL connections. There is no wildcard to allow
; any domain.
host = https://www.example.com/
notify = smtp

[server]
listen = http://0.0.0.0:8080/

[guard]
enabled = true
ratelimit = 2
direct-reply = 30
reply-to-self = false
require-author = true
require-email = true

[smtp]
host = smtp.gmail.com
port = 465
security = ssl
username =
password =
to =
from = "ISSO Comment System"
timeout = 10

# cat /etc/nginx/sites-available/isso
...
server {

server_name comments.example.com; #serve the Isso system with a dedicated domain

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Script-Name /;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
}

...

}
...

Run the Isso Docker Image as a Container:

docker run --name isso -v /mnt/docker/isso/config:/config -v /mnt/docker/isso/db:/db -p 8080:8080 --rm -d wonderfall/isso

Get started with Docker Compose:

# pwd
/var/www/dockerize_isso
# ls
config db docker-compose.yml
# cat docker-compose.yml
isso:
image: wonderfall/isso
environment:
- GID=1000
- UID=1000
ports:
- "8080:8080"
volumes:
- ./config:/config
- ./db:/db

Test Isso:

https://comments.example.com/js/embed.min.js

Paste the script code below in your website:

data-isso-css="true"
data-isso-lang="zh"
data-isso-reply-to-self="false"
data-isso-require-author="true"
data-isso-require-email="true"
data-isso-max-comments-top="10"
data-isso-max-comments-nested="5"
data-isso-reveal-on-click="5"
data-isso-avatar="true"
data-isso-avatar-bg="#f0f0f0"
data-isso-avatar-fg="#9abf88 #5698c4 #e279a3 #9163b6 ..."
data-isso-vote="true"
data-vote-levels=""
src="//comments.example.com/js/embed.min.js">


Done.


Isso in subdirectory

We can also host Isso system in a subdirectory isso but not a dedicated domain, like www.example.com/isso, in this case, we need to update the Nginx configuration this way:

# cat /etc/nginx/sites-available/isso
...
server {

server_name comments.example.com;

location /isso {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Script-Name /isso;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
}

}
...

And the script code:

data-isso-css="true"
data-isso-lang="zh"
data-isso-reply-to-self="false"
data-isso-require-author="true"
data-isso-require-email="true"
data-isso-max-comments-top="10"
data-isso-max-comments-nested="5"
data-isso-reveal-on-click="5"
data-isso-avatar="true"
data-isso-avatar-bg="#f0f0f0"
data-isso-avatar-fg="#9abf88 #5698c4 #e279a3 #9163b6 ..."
data-isso-vote="true"
data-vote-levels=""
src="//www.example.com/isso/js/embed.min.js">


How to delete comments with commands?

.tables isso.comments isso.preferences isso.threads sqlite> sqlite> .show ... sqlite> .headers ON sqlite> .mode column sqlite> SELECT * from isso.comments; ... sqlite> SELECT * from isso.threads; ... sqlite> SELECT id,author,text from isso.comments; ... sqlite> DELETE FROM isso.comments WHERE id=87; ... sqlite> .quit"># sudo apt-get update
...
# sudo apt-get install sqlite sqlite3 libsqlite3-dev
...
# cd /mnt/docker/isso/db/
# sqlite3
sqlite> ATTACH 'comments.db' as isso;
sqlite> .tables
isso.comments isso.preferences isso.threads
sqlite>
sqlite> .show
...
sqlite> .headers ON
sqlite> .mode column
sqlite> SELECT * from isso.comments;
...
sqlite> SELECT * from isso.threads;
...
sqlite> SELECT id,author,text from isso.comments;
...
sqlite> DELETE FROM isso.comments WHERE id=87;
...
sqlite> .quit

Reference: Command Line Shell For SQLite

About

Dockerizing the Isso Commenting Server

Topics

Resources

Readme

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Dockerfile 86.3%
  • Shell 13.7%