Skip to content

Instantly share code, notes, and snippets.

from fabric.api import *
env.hosts = ['host.name.com']
env.user = 'user'
env.key_filename = '/path/to/keyfile.pem'
def local_uname():
local('uname -a')
def remote_uname():
jQuery(function($) {
$('form[data-async]').live('submit', function(event) {
var $form = $(this);
var $target = $($form.attr('data-target'));
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize(),

TheForeman + Libvirt notes

Foreman+KVM on the same physical host

Set up a bridge

  • virsh iface-bridge eth0 br0
  • If you had NM_CONTROLLED=no in there, re-add it to both ifcfg files because virsh probably just removed it for you.
#!/bin/sh
# You can optionally connect to the VM with
# virt-viewer -c qemu:///system Debian7
export OS=Debian7
virt-install \
--connect qemu:///system \
--name ${OS} \
--ram 512 \
--vcpus 1 \

1. Install dependencies

apt-get install automake avahi-daemon build-essential checkinstall db5.1-util db-util git-core libacl1-dev libavahi-client-dev libdb5.1-dev libgcrypt11 libgcrypt11-dev libpam0g-dev libtool pkg-config

2. Download and unpack source

cd /usr/src/
wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.6.tar.gz
tar -xvzf netatalk-3.1.6.tar.gz
@drucko
drucko / DownloadStationAPI.py
Created November 25, 2015 17:18 — forked from harperreed/DownloadStationAPI.py
example script to sync/download/etc put.io downloads to your synology download station
import time
import requests
import json
class DownloadStationAPI():
def __init__(self, host=None, username=None, password=None):
self.name = 'DownloadStation'
@drucko
drucko / fdisk.in
Created December 30, 2015 11:33 — forked from icopitg-fh/fdisk.in
Buildroot image install script. We use syslinux to boot the system. fdisk.in file is a necessary include that automates the creation of our partitions.
d
1
d
2
d
3
d
4
n
p
@drucko
drucko / ghe-lxc-image
Created September 7, 2016 20:00 — forked from ei-grad/ghe-lxc-image
Script to convert Github Enterprise OVA image to tar.gz for LXC.
#!/bin/bash
[ "`whoami`" != "root" ] && echo "Should be run by root!" && exit 1
[ -e *.vmdk ] || ( echo Extracting VMDK image from *.ova ... ; tar xf *.ova )
[ -e github.img ] || ( echo Converting *.vmdk to raw image ... ; qemu-img convert *.vmdk github.img )
echo Preparing mounts ...
losetup -f github.img -P
vgchange -ay enterprise-11
@drucko
drucko / post_acc_doc.rb
Created July 18, 2017 11:01 — forked from mydoghasworms/post_acc_doc.rb
Example of using Ruby nwrfc gem to post documents to an SAP ECC system using BAPI_ACC_DOCUMENT_POST
#!/usr/bin/ruby
require 'nwrfc'
require 'logger'
include NWRFC
# This is an example of a Ruby script using the nwrfc gem to post Accounting documents to
# an SAP ECC system using BAPI_ACC_DOCUMENT_POST. You can obviously easily adapt it to
# your needs
@drucko
drucko / letsencrypt_2017.md
Created November 20, 2017 16:41 — forked from cecilemuller/letsencrypt_2020.md
How to setup Let's Encrypt for Nginx on Ubuntu 16.04 (including IPv6, HTTP/2 and A+ SLL rating)

How to setup Let's Encrypt for Nginx on Ubuntu 16.04 (including IPv6, HTTP/2 and A+ SLL rating)

There are two main modes to run the Let's Encrypt client (called Certbot):

  • Standalone: replaces the webserver to respond to ACME challenges
  • Webroot: needs your webserver to serve challenges from a known folder.

Webroot is better because it doesn't need to replace Nginx (to bind to port 80).

In the following, we're setting up mydomain.com. HTML is served from /var/www/mydomain, and challenges are served from /var/www/letsencrypt.