Skip to content

Instantly share code, notes, and snippets.


Juanje Ojeda juanje

View GitHub Profile
juanje /
Last active Aug 18, 2020
Some simple scripts to sync Toolbox's images using Skopeo
declare -a versions
versions=(29 31 32 33)
for version in "${versions[@]}"; do
echo "Create local copy from the remote image '${src}' into the directory '${dest}'"
juanje /
Created Aug 14, 2020
Remove libvirt domain after Vagrant fails
# Found hre:
sudo virsh list --all
# Find the domain is failing (<THE_MACHINE>)
sudo virsh destroy <THE_MACHINE>
sudo virsh undefine <THE_MACHINE> --snapshots-metadata --managed-save
sudo virsh vol-list default
sudo virsh vol-delete --pool default <THE_VOLUME>
juanje /
Last active Oct 9, 2020
Example of function to try something a max number of times (and wait between retries).
function get_file() {
# Declare these local variables as integer
local -i count
local -i max_retries
local -i wait_time
local filename
juanje / compose_variables.yml
Last active Feb 21, 2021
Different ways to compose variables from other variables in Ansible
View compose_variables.yml
- name: Compose variables and merge lists
hosts: localhost
connection: local
gather_facts: no
- 1
- 2
juanje /
Last active Jul 23, 2020
Quick and dirty way t test the last built of GNOME OS
# More info here:
# I changed some minor options to have it working out the box.
# Be aware that the compressed image that you need to download is 1 Gb large.
# And, once it gets decompressed, it is 17 Gb large.
# Download the last GNOME OS image:
# Decompress it:
unxz disk.img.xz
juanje / gnome.yml
Created Jul 4, 2020
Set some Gnome configurations using Ansible
View gnome.yml
- name: Configure desktop
hosts: localhost
gather_facts: false
- { key: "/org/gnome/desktop/interface/clock-show-date", value: "true" }
- { key: "/org/gnome/desktop/interface/clock-show-weekday", value: "true" }
- { key: "/org/gnome/desktop/peripherals/touchpad/natural-scroll", value: "false" }
juanje /
Created Jun 10, 2020
Run Redis with Podman. As a Systemd service and as a Pod.
# This is a simple example of how to run a basic service inside a container with Podman
# Podman
## Pull the Docker image
podman pull
## Run the container as you would do with Docker
podman run -d --name redis_server -p 6379:6379 redis
# But Podman facilitate some extra ways:
juanje /
Last active Oct 9, 2020
RPM tips & tricks
# Just a place to write down notes for old time Debian/Ubuntu user
# that has just moved into Fedora/RedHat world
# Show which package provides the file '/bin/ls'
# Similar to 'dpkg -S /bin/ls'
$ rpm -qf /bin/ls
# The same but showing only the package name (without version)
$ rpm -qf /bin/ls --queryformat '%{NAME}\n'
juanje / Dockerfile
Created Apr 15, 2020
Dockerfile multi-stage for a minimal production-ready React app
View Dockerfile
# Multistage Dockerfile
# STEP 1: build the Reac static files
FROM node:13.2.0-alpine as builder
# Create app directory and set a current directory
# Copy the dependencies files
COPY package.json package-lock.json /app/
juanje /
Created Apr 13, 2020
Passing parammeters to ansible-playbook in a shellscript
# This is a small test to check how to pass some parameters with
# special characters (!) to avoid shell calls, to ansible-playbook.
ansible-playbook -l "${_except}" bootstrap.yml