Fix libwacom9 dependency issue when upgrade Debian

The following packages have unmet dependencies: libwacom9 : Depends: libwacom-common (= 2.1.0-2) but 1.12-1 is to be installed This should fix the issue on most cases: # apt install libwacom9 libwacom-common=2.1.0-2 If the command above returns error: E: Version ‘2.1.0-2’ for ‘libwacom-common’ was not found Try this: # apt remove libwacom2 When run the command … Read more

Use OpenVPN for server but keep incoming connections

I need to fake IP of current webserver using OpenVPN that installed on another server. The problem is it will block all incoming connections to my webserver ( 80, 443, and 22 for example). First, I need to force the incoming packets to be routed over its public interface: sudo ip rule add from $(ip … Read more

Magento 2 log rotation with logrotate

Why? Log rotation is an automated process to remove or archive old and big log files. More information here. Magento 2 log files get bigger every day, it may take too much space and slow down your server. In fact, you can backup and delete Magento log files, but it’s better if there’s an automated … Read more

Environment variables from docker-compose .env to Dockerfile

1. Declare the variables in .env PHPFPM_IMAGE=php:7.2-fpm USER_ID=1000 2. Pass the variables to Dockerfile using args in docker-compose.yml version: '3' services: app: build: context: . dockerfile: Dockerfile args: PHPFPM_IMAGE: ${PHPFPM_IMAGE} USER_ID: ${USER_ID} 3. Use the keyword ARG to receive the variables in Dockerfile # ARG to use WITH "FROM" ARG PHPFPM_IMAGE FROM $PHPFPM_IMAGE # ARG … Read more

Notes about Let’s Encrypt

1. Use Certbot docker to generates the certs Let’s Encrypt Wildcard SSL with Certbot docker Example of Nginx configuration: server { listen 80; listen 443 ssl; ssl_certificate /etc/letsencrypt/live/; ssl_certificate_key /etc/letsencrypt/live/; … } 2. Auto-renew with Certbot docker