Category Archives: Notes

docker-compose notes

version: '3.8'

services:

  filebeat-app:
  image: docker.elastic.co/beats/filebeat:${ELK_VERSION}
  hostname: "{{.Service.Name}}-{{.Task.Slot}}"
    deploy:
      mode: global
      placement:
        max_replicas_per_node: 1
        constraints:
          - "node.labels.zoom-connector==true"

rabbitmq: cluster on docker swarm can not be assembled

RabbitMQ cluster on docker swarm can not be assembled

Symptoms

oqpqhlailzzn   myproject_rabbitmq-2.1  rabbitmq:3.7-management-alpine   ip-10-103-32-185.us-east-1.compute.internal   Shutdown            Failed 22 seconds ago        "task: non-zero exit (69)"   
ngo5qnu2n4lk   myproject_rabbitmq-3.1  rabbitmq:3.7-management-alpine   ip-10-103-47-234.us-east-1.compute.internal   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 site.domain.com
# 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

Issue

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

Solution:

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

jinja create file from template without empty lines

Issue

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.

#!/usr/bin/python
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.

Symptoms:

$ 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 https://docs.saltstack.com/en/latest/topics/best_practices.html

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:

pillar.get
pillar.items
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