Vagrant is an application to enable you to programmatically control VM’s Hashicorp calls Vagrant Boxes. It’s hayday was before the rise of Docker and Kubernetes but still has great use cases. For instance, Docker Images have to be based on the Linux Kernel. So since Vagrant Boxes are full VM’s, they can contain a wider selection of operating systems for you to choose from.
# install vagrant itself, it will use the libvirt provider by default $ sudo apt install vagrant # install the libvirt daemon and enable it sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils sudo systemctl enable libvirtd sudo systemctl start libvirtd # add yourself to the libvirt group sudo usermod -aG libvirt $USER # and you're all set!...
First,
services: analytics: image: milesmcc/shynet ports: - "8080" environment: DB_NAME: shynet_analytics DB_USER: postgres DB_PASSWORD: ${POSTGRES_PASSWORD} DB_HOST: postgres DB_PORT: "5432" ACCOUNT_EMAIL_VERIFICATION: none TIME_ZONE: America/Los_Angeles Then,
docker-compose exec analytics ./manage.py registeradmin hi@my.domain.com
This will print the password to the console. More users can be added by visiting https://example.com/admin/core/user/add/ or adding ACCOUNT_SIGNUPS_ENABLED: True docker-compose exec analytics ./manage.py hostname analytics.example.com
docker-compose exec analytics ./manage.py whitelabel "My Shynet Analytics"...
services: nginx-proxy: image: jwilder/nginx-proxy:alpine volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./data/nginx/etc/certs:/etc/nginx/certs - ./data/nginx/etc/vhost.d:/etc/nginx/vhost.d - ./data/nginx/usrshare/html:/usr/share/nginx/html ports: - "80:80" - "443:443" nginx-letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion volumes_from: - nginx-proxy volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./data/nginx-le/acme.sh:/etc/acme.sh environment: DEFAULT_EMAIL: "${DEFAULT_EMAIL}" Local data that you would potentially want to backup in a prod environment is saved at ./data/nginx/.
This configuration will automatically setup an nginx reverse proxy config for hosting a container at a specific domain and with TLS using Let’s Encrypt....
Run
$ sudo dmesg | grep 'firmware load for' | grep 'failed with error' $ sudo dmesg | grep 'firmware: failed to load' This will search your diagnostic kernel logs for failed firmware loads and will produce lines that look similar to the following
[ 53.168802] bluetooth hci0: Direct firmware load for qca/rampatch_usb_00000200.bin failed with error -2 Take that file name and pass it to
$ sudo apt-file search qca/rampatch_usb_00000200.bin Which in this case will yield...