docker swarm node labels

Get labels from nodes in cluster

# Execute on manager
docker node ls -q | xargs docker node inspect -f '[{{ .ID }} {{ .Description.Hostname }}]: {{ .Spec.Labels }}'
docker node ls -q | xargs docker node inspect \
  -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ range $k, $v := .Spec.Labels }}{{ $k }}={{ $v }} {{end}}'

transmission notes

Issue: Transmission Remote GUI 403 Forbidden

Package: transmission-daemon
Version: 2.94-2+deb10u1
find / -mount -type f -name settings.json -exec ls -l {} \;

-rw------- 1 root root 2186 Sep 20 22:29 /root/.config/transmission-daemon/settings.json
-rw-rw---- 1 debian-transmission debian-transmission 2398 Oct 30 16:37 /etc/transmission-daemon/settings.json
-rw------- 1 debian-transmission debian-transmission 2226 Oct 30 16:45 /home/debian-transmission/.config/transmission-daemon/settings.json

Continue reading

certbot notes

Issue: Unable to recover files from /var/lib/letsencrypt/temp_checkpoint

# certbot 1.7.0, CentOS 7
certbot --nginx -d
# echo
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Unable to recover files from /var/lib/letsencrypt/temp_checkpoint
Incomplete or failed recovery for /var/lib/letsencrypt/temp_checkpoint
Unable to revert temporary config

I did. Solved:

yum update
mv /var/lib/letsencrypt /var/lib/letsencrypt.original

Nextcloud notes


Move server to other host

  1. Install Nextcloud on the new server
  2. Set the old and new server to maintenance mode
  3. Dump the database on the old
  4. Copy the complete data directory to the new server
  5. Restore the database on the new server
  6. Edit the config.php on the new server. I think you have to copy passwordsalt a d secret from the old to the new server.
  7. Change the DNS record to point at your new server.
  8. Turn off maintenance mode on the new server.

Asterisk stop log to syslog


Asterisk put logs to /var/log/syslog
Affected OS: Ubuntu, Debian 9


# Step1: create file for rsyslog
cat << EOF > /etc/rsyslog.d/10-asterisk.conf
if \$programname == "asterisk" then { stop }
# Step2:
systemctl restart rsyslog.service

jinja create file from template without empty lines


Creation of file from pillar simple list with Jinja template will be create empty line, in top or bottom of file, dependence for template syntax.
You can not create file without empty lines.

from jinja2 import Template

d = {'testlist':['item1','item2','item3']}

tmpl = '''{%- for item in testlist %}
   {{ item }}
{%- endfor %}'''

t = Template(tmpl)
print( t.render( d ) )

Continue reading

Virtualbox on linux Troubleshooting

The vboxdrv kernel module is not loaded.


$ VBoxManage --version
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (5.4.28-1-MANJARO) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.

Continue reading

using map.jinja in salt states

Description from vendor

My opinion: NEVER USE

Reason 1

It is not possible to see the values from this map on node or salt-master by any command, like:

Reason 2

State will applied to the minion, even when node (or/and any parent class) has no any pillar data to this state.
Continue reading

kubernetes notes

docker info | grep -i cgroup
kubectl get nodes
kubectl get pods -n kube-system -o wide
kubectl get events --namespace=kube-system
kubectl apply -f
kubectl apply -f
kubeadm token create --print-join-command
kubectl get ingress -A
kubectl get componentstatuses

Continue reading

firewalld notes

firewall-cmd --list-all

# add services
firewall-cmd --add-service=zabbix-agent --permanent
firewall-cmd --reload

# add ports
firewall-cmd --permanent --add-port=100/tcp
firewall-cmd --reload

Asterisk monast


Іssue: lost connection to asterisk each 3-4 seconds, and make reconnection

Debian 7
Asterisk 13.5

Tested git commits

* a02a81b 2012-06-19 | added option to set custom peer status using UserEvent [Diego Aguirre]
    DONT WORK - Lost connection to server each 3-4 seconds.

* 777df26 2012-04-24 | changes [Diego Aguirre]

Selected version bbce290 2018-01-23
Commented lines in

 server.pushTask(server.ami.command, "database show") \
       .addCallbacks(onCustomPeerStatus, self._onAmiCommandFailure, errbackArgs = (servername, "Error Requesting Custom Peer Status from ASTDB"))

Now connection to asterisk not lost.

Reason on issue: too much records in database, long time of executing request ‘database show’.

$ asterisk -rx 'database deltree q-answered'
156568 database entries removed.

FTP client iptables nf_conntrack_ftp


OS: Cloudlinux 6,7

Connected to (
220 This is a private system - No anonymous login
Name ( ftpuser
331 User ftpuser OK. Password required
230 OK. Current directory is /files
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (,19,73)
ftp: connect: Connection timed out

Continue reading

cPanel whmapi

Размер занятый активными акаунтами

$ whmapi1 listaccts api.filter.enable=1 api.filter.a.field='suspended' api.filter.a.arg0='0' api.filter.a.type=eq | grep -E 'user:| diskused:' | tr '\n' ' ' | sed 's/diskused:/\n/g' | tail -n +2 | awk 'begin {}; {sum+=$1; printf("%s %s\n",$3,$1)} END {print sum}'

Continue reading

Asterisk CDR setup


Debian 9 Stretch
Asterisk 13.14.1 from debian repo.
MariaDB 10.3.7 from MariaaDB repo.

apt install unixodbc unixodbc-dev 


Description=MariaDB Connector/ODBC v.2.0

Continue reading

zabbix jabber notification

Send script: /etc/zabbix/scripts/

#!/usr/bin/env python
import xmpp,sys

xmpp_jid = '[email protected]'
xmpp_pwd = 'password'

to = sys.argv[1]
msg = sys.argv[2]

jid = xmpp.protocol.JID(xmpp_jid)
client = xmpp.Client(jid.getDomain(),debug=[])

Continue reading