Posts

Showing posts from 2026

Adguard Home on Windows 11

Adguard Home uses DNS to block ads and tracking software. I previously installed Adguard Home on Ubuntu and used it with Docker containers. The Ubuntu install worked well, but I had trouble getting the Docker install to work, especially on my Windows 11 laptop. For this install, I used the standard Windows 11 install, and it went pretty smoothly. Download Adguard Home from here: https://github.com/AdguardTeam/AdGuardHome/releases/tag/v0.107.76 Unzip the file and save it in C:\Program Files\Adguard Home . Open a command prompt window and run as administrator. Perform the following commands: cd "C:\Program Files\AdGuardHome" AdGuardHome.exe -s install Ensure that the service is running with following command: AdGuardHome.exe -s status Open a web browser and go to the temporary AdGuard Home Web Portal setup page (http://127.0.0.1:3000 or http://[Your-PC-IP-Address]:3000). Follow the setup wizard to choose your network interfaces and set up your admin username and password. Now...

ansible wsl2 winrm example

  If you perform a google search with the following search string: ansible wsl2 winrm example You get the text shown below. Here's a link to the search:  https://share.google/aimode/h3bamT37y4UVqIDwU You can find your Windows username by opening a Windows command prompt. If you forget your Windows password, you can reset it here:  https://account.microsoft.com/ Instead of localhost , I used the IP address of my Windows device. Using Ansible within WSL2 to manage its Windows host via WinRM involves configuring the Windows host to accept remote management and setting up Ansible with the pywinrm library. add tag 1. Configure the Windows Host (PowerShell) WinRM is usually disabled or set to “Public” by default, which blocks connections. Run these commands in an Administrator PowerShell window to enable it for local management: # Set network to Private (required for WinRM in most cases) Set - NetConnectionProfile - NetworkCategory Private   # Enable WinRM with default se...

Running ansible playbook on wsl Ubuntu

  Run the following commands from your home directory: sudo apt install python3-venv   source venv / bin / activate Your prompt will change: ( .venv ) user @ wsl_host:~ / dev / ansible$ Install ansible: pip install ansible Example 1 Copy Hello World file to all hosts. Create an inventory file (inventory.yml): all : vars : ansible_user : user hosts : wsl_host : ansible_host : localhost ubuntu_laptop : ansible_host : 192.168.xxx.xxx Create a playbook (playbook.yml): - name : Play 1 hosts : all tasks : - name : Create Hello World file ansible.builtin.copy : content : "Hello World" dest : /home/user/hello-world.txt   Run the playbook: ansible-playbook -i inventory.yml playbook.yml --ask-pass You will be prompted to enter the appropriate password(s). This  will create hello-world.txt file on the two host that you defined in the inventory.yml file. See First Ansible Playbook for more details. Exam...

New Toy - Geekom A5

Image
I purchased a Geekom A5 from Best Buy, and it arrived yesterday. I really like it. It 's so quiet and is contained in such a small package. It also came with a thank you card, which I thought was a nice touch. Here's a review of it: https://www.itpro.com/hardware/the-geekom-a5-2025-edition-is-possibly-the-best-mini-pc-on-the-market Here's some of its specs: It has a fast wifi connection: I wasn't sure if I should set it up for dual-boot or use wsl2. I want to do some software development and run docker containers. I choose wsl2 with Ubuntu for the Linux VM.  Here's some of the software that I installed so far: wsl2 ( https://learn.microsoft.com/en-us/windows/wsl/install ) ubuntu ( https://documentation.ubuntu.com/wsl/stable/howto/install-ubuntu-wsl2/ ) deja-dup ( sudo apt install deja-dup - to restore backup from Ubuntu laptop) visual code studio ( https://code.visualstudio.com/ ) docker desktop ( https://docs.docker.com/desktop/setup/install/windows-install/ ) doc...

Favorite Docker Containers

Updated: 4/28/2026 - Added links to other relevant posts. I’m a Technical Writer, so my choices of Docker containers reflect my preference toward documentation oriented ones. Portainer  - A must have for running Docker. Shows all your containers, images, and volumes. It lets you stop and start the containers and shows the ports that they are running on. See also  Portainer Docker Container . Homepage  - Lets you set links to services and websites that you use frequently. Uses configuration files for setting the links, backgrounds, and icons. See also  Link-Based Docker Containers . Drupal  - Content management system (CMS) that allows you create dynamic web sites. See Using Drupal and DITA OT to Create a PDF File for a Drupal use case and  Drupal Docker Container . WordPress  - Easy to use content management system for developing web sites (see also  Wordpress Docker Container ). Panadoc - Allows conversion from one documentation format to anothe...

Ubuntu Backups Using Déjà Dup/Duplicity

Published: 4/26/2026 I use Déjà Dup to back up my files on Ubuntu. Déjà Dup is a user-friendly graphical user interface ( GUI ) designed primarily for Duplicity. It is included with Ubuntu and acts as a GNOME frontend to make complex backup processes simple, handling scheduling, encryption, and storage management on Linux. Duplicity is a command-line backup tool that uses librsync and GPG to create compressed, encrypted, and incremental backups. Using Déjà Dup The following is a comprehensive tutorial on how to use Déjà Dup: https://www.techtarget.com/searchdatabackup/tutorial/Tutorial-How-to-use-Linux-Deja-Dup-to-back-up-and-restore-files Duplicity Command Lines Déjà Dup was unavailble from my Windows laptop, so I had to use the following command lines when working with Duplicity on WSL2. Create a Backup: duplicity [source_directory] [target_url] Example: duplicity /home/user scp://user@remotehost//backup/dir Example: duplicity /home/user file:///media/<user>/toshiba/backup_dir ...

Wordpress Docker Container

 Wordpress is an easy to use content management system for developing web sites. docker-compose.xml: version : '3.7' volumes : wp-data : networks : wp-back : services : db : image : mysql:5.7 volumes : - wp-data:/var/lib/mysql environment : MYSQL_ROOT_PASSWORD : rootPassword MYSQL_DATABASE : wordpress MYSQL_USER : wp-user MYSQL_PASSWORD : wp-pass ports : - 8889:3306 networks : - wp-back phpmyadmin : depends_on : - db image : phpmyadmin/phpmyadmin environment : PMA_HOST : db MYSQL_USER : wp-user MYSQL_PASSWORD : wp-pass MYSQL_ROOT_PASSWORD : rootPassword ports : - 3002:80 networks : - wp-back wordpress : depends_on : - db image : wordpress:latest ports : - 8888:80 - 443:443 environment : WORDPRESS_DB_HOST : db WORDPRESS_DB_USER : wp-user WORDPRESS_DB_PASSWORD...

Drupal Docker Container

Drupal is a content management system ( CMS ) that allows you create dynamic web sites. It can be somewhat difficult to install because it has a lot of dependencies. Using a docker container to perform the install makes the installation process easier. Also, see Using Drupal and DITA OT to Create a PDF File for a Drupal use case. Docker-compose.yml: # Database username: postgres # Database password: example # ADVANCED OPTIONS; Database host: postgres # version : '3.1' services : drupal : image : my-drupal:latest ports : - 8080:80 volumes : - modules:/var/www/html/modules - profiles:/var/www/html/profiles - themes:/var/www/html/themes # this takes advantage of the feature in Docker that a new anonymous # volume (which is what we're creating here) will be initialized with the # existing content of the image at the same location - sites:/var/www/html/sites restart : none postgres...

Panadoc Docker Run

Panadoc a llows conversion from one documentation format to another (for example, markdown to pdf file). I don't use docker compose for Panadoc, instead I use docker run , as it is a single instance. Examples: From markdown to PDF format docker run --rm --volume "$(pwd):/data" --user "$(id -u):$(id -g)" pandoc/latex -f markdown -t pdf -o drupal_dita_pdf.pdf -i drupal_dita_pdf.md From dokuwiki to markdown format docker run --rm --volume "$(pwd):/data" --user "$(id -u):$(id -g)" pandoc/latex -f dokuwiki -t markdown -o drupal_dita_pdf.md -i drupal_dita_pdf.txt See also  https://hypot2noose.blogspot.com/2025/12/favorite-docker-containers.html .

DokuWiki Docker Container

I love DokuWiki. It is an  easy to use text-based wiki.  It is my go-to place to store information about programs that I work on, movies and TV shows that I watch, books that I read, and so on.  The information for this post was taken from a dokuwiki page. Here's the docker-compose.yml: version : '3' services : dokuwiki : container_name : dokuwiki image : php:7-apache-bullseye restart : unless-stopped networks : - dokuwiki ports : - '8889:80' volumes : - ./html:/var/www/html networks : dokuwiki: See  https://loganmarchione.com/2022/03/the-best-way-to-run-dokuwiki-in-docker/  for installation instructions. Exec into the container. docker exec -it dokuwiki /bin/bash Download DokuWiki. cd /var/www/html curl --remote-name https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz tar -xzvf dokuwiki-stable.tgz --strip-components=1 rm dokuwiki-stable.tgz chown -R www-data:www-data /var/www/ Go to  http://...

Pode.Web Application

Image
The application that I am creating with the Pode.Web module will allow you to add media (TV shows, movies, books, and albums), people (friends, family, authors, directors, actors, artists, etc.), and events (concerts, sporting events, vacations, etc.) by using web forms. The data from the web forms will be stored to a sqlite database. I will eventually make connections between the three entities. Prerequisites:  Powershell and DITA Open Tool Kit. The application will also require the following modules: Pode Pode.Web PSSqlite Please refer to  https://badgerati.github.io/Pode.Web/0.8.3/Tutorials/Basics/  for commands used in this post. NOTE: This post will only cover adding media, viewing it, updating it, and deleting it. Setting up Sqlite3 Database Perform the following command to set up a database without tables. sqlite3 data.db Then, run these commands from the Sqlite command prompt: .databases .exit Setting Up Pode Web Server Here is the first part of the code: Import -...