Isso is a commenting server similar to Disqus. More info on theofficial website.
Docker Hub:wonderfall/isso
Docker Pull Command:
docker pull wonderfall/isso
- Based on Alpine Linux 3.3.
- Latest Isso installed with
pip
.
- ISSO_VER:version of Isso.
- GID:isso group id(default: 991)
- UID:isso user id(default: 991)
- /config:location of configuration files.
- /db:location of SQLite database.
- 8080(reverse proxy!).
8080
is exposed inthis Isso Docker image.
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:// example /
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
port = 465
security = ssl
username = <username>
password = <password>
to = <email address>
from = "ISSO Comment System" <no-reply@example >
timeout = 10
# cat /etc/nginx/sites-available/isso
...
server {
server_name comments.example; #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 /js/embed.min.js
Paste the script code below in your website:
<script data-isso= "//comments.example /"
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 /js/embed.min.js" ></script>
<section id= "isso-thread" ></section>
<noscript> thỉnh mở ra JavaScript xem xét <a href= "https://posativ.org/isso/" rel= "nofollow" >isso bình luận hệ thống nội dung </a>. </noscript>
Done.
We can also host Isso system in a subdirectoryisso
but not a dedicated domain, likeexample /isso
,in this case, we need to update the Nginx configuration this way:
# cat /etc/nginx/sites-available/isso
...
server {
server_name comments.example;
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:
<script data-isso= "// example /isso/"
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= "// example /isso/js/embed.min.js" ></script>
<section id= "isso-thread" ></section>
<noscript> thỉnh mở ra JavaScript xem xét <a href= "https://posativ.org/isso/" rel= "nofollow" >isso bình luận hệ thống nội dung </a>. </noscript>
# 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 ments isso.preferences isso.threads
sqlite>
sqlite>.show
...
sqlite>.headers ON
sqlite>.mode column
sqlite> SELECT * from isso ments;
...
sqlite> SELECT * from isso.threads;
...
sqlite> SELECT id,author,text from isso ments;
...
sqlite> DELETE FROM isso ments WHERE id=87;
...
sqlite>.quit
Reference:Command Line Shell For SQLite