Skip to content

Instantly share code, notes, and snippets.

View jchodakowski's full-sized avatar

Jason Chodakowski jchodakowski

View GitHub Profile
@jchodakowski
jchodakowski / mjpg-streamer.service
Created December 31, 2023 10:12
Simple systemd service descriptor for running on raspberry-pi with added self-restart. Pi's don't seem to like long running cameras and the reasons vary. The easiest work around is to just refresh the process on a regular basis.
[Unit]
Description=Streams video with Raspberry Pi Camera
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/bin/mjpg_streamer -b \
; General
M111 S0 ; Debug off
M550 PRailCore ; Machine name and Netbios name (can be anything you like)
; Networking
;M551 Pletmein ; Machine password (used for HTTP/FTP)
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0x03 ; MAC Address
M552 S1 ; Enable WiFi
;M587 S"foo" P"bar"
M586 P0 S1 ; Enable HTTP
@jchodakowski
jchodakowski / nessus.sh
Created March 7, 2017 21:49
Nessus user provisioning script
#!/bin/bash
useradd -m -s /bin/bash -G sudo nessus
mkdir -pm 700 /home/nessus/.ssh
if [ -f /tmp/nessus_id_rsa.pub ]; then
cat /tmp/nessus_id_rsa.pub > /home/nessus/.ssh/authorized_keys
chown -R nessus. /home/nessus/.ssh
chmod 700 /home/nessus/.ssh
chmod 600 /home/nessus/.ssh/authorized_keys
fi
@jchodakowski
jchodakowski / lvm.sh
Created March 7, 2017 21:48
Complex filesystem shell script
#!/bin/sh
case "$1" in
# update the file 'partman-base.postinst' with our filesystem "installer"
installer)
#sed -i 's/partman/\/tmp\/lvm.sh partman/' /var/lib/dpkg/info/partman-base.postinst
sed -i 's/partman/\/tmp\/lvm.sh destroy; \/tmp\/lvm.sh partman/' /var/lib/dpkg/info/partman-base.postinst
logger -t lvm.sh modified partman-base.postinst
;;
@jchodakowski
jchodakowski / preseed_config
Created March 7, 2017 21:47
Preseed shell command
#!/bin/sh
. /usr/share/debconf/confmodule
set -e
anna-install parted-udeb
preseed_fetch lvm.sh /tmp/lvm.sh
chmod 755 /tmp/lvm.sh
d-i debconf/priority string critical
d-i preseed/early_command string wget -q $(debconf-get packer/http)/preseed_config -P /tmp ; \
log-output -t preseed_config sh /tmp/preseed_config
d-i preseed/include string packages.cfg
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/splash boolean false
d-i base-installer/kernel/override-image string linux-server
d-i clock-setup/utc boolean true
d-i clock-setup/utc-auto boolean true
d-i time/zone string UTC
@jchodakowski
jchodakowski / packer.log
Created March 7, 2017 21:43
Packer log
2017/03/07 16:33:50 [INFO] Packer version: 0.12.3
2017/03/07 16:33:50 Packer Target OS/Arch: windows amd64
2017/03/07 16:33:50 Built with Go Version: go1.8
2017/03/07 16:33:50 Using internal plugin for amazon-ebsvolume
2017/03/07 16:33:50 Using internal plugin for digitalocean
2017/03/07 16:33:50 Using internal plugin for docker
2017/03/07 16:33:50 Using internal plugin for qemu
2017/03/07 16:33:50 Using internal plugin for virtualbox-ovf
2017/03/07 16:33:50 Using internal plugin for amazon-ebs
2017/03/07 16:33:50 Using internal plugin for amazon-instance
@jchodakowski
jchodakowski / template.json
Last active March 7, 2017 21:50
Packer build template
{
"variables": {
"ssh_username": "root",
"ssh_password": "DpIVLUUSGQ89qQcb",
"chef_version": "12.5.1",
"chef_server": "{{env `CHEF_SERVER`}}",
"hostname": "{{env `VBRICK_HOSTNAME`}}",
"canonical_ami": "ami-33ea9424",
"iso_name": "ubuntu-14.04.5-server-amd64.iso",
"iso_source": "../../iso/",
mongo = service 'mongod' do
action [:enable, :stop]
end
bash 'back up stock mongod.conf' do
code <<-EOH
mv /etc/mongod.conf /etc/mongod.conf.orig
EOH
only_if { File.exist?('/etc/mongod.conf') }
end