Category Archives: Notes

docker-compose notes

version: '3.8'


  hostname: "{{.Service.Name}}-{{.Task.Slot}}"
      mode: global
        max_replicas_per_node: 1
          - "node.labels.zoom-connector==true"

RabbitMQ notes

RabbitMQ cluster on docker swarm can not be assembled


oqpqhlailzzn   myproject_rabbitmq-2.1  rabbitmq:3.7-management-alpine   Shutdown            Failed 22 seconds ago        "task: non-zero exit (69)"   
ngo5qnu2n4lk   myproject_rabbitmq-3.1  rabbitmq:3.7-management-alpine   Shutdown            Failed 22 seconds ago        "task: non-zero exit (69)"

Continue reading

docker helpful commands

Get labels from nodes in swarm 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}}'

Continue reading

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 cluster-info
kubectl config view
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