Skip to content

Instantly share code, notes, and snippets.

Stefan Wienert zealot128

Block or report user

Report or block zealot128

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@zealot128
zealot128 / download_zonefile.rb
Last active Aug 24, 2019
Mailinabox Ruby API - Zonefile Generation. Downloads all DNS record from your MAIB instance and write valid zonefiles for easy C&P and Version controlling
View download_zonefile.rb
require 'bundler/inline'
IGNORE_RECORD_TYPES = ['SSHFP', 'TLSA']
BOX = 'box.yourserver.com'
ADMIN_EMAIL = 'admin@yourserver.com'
gemfile do
source 'https://rubygems.org'
gem 'http'
gem 'tty-prompt', require: 'tty/prompt'
@zealot128
zealot128 / README.md
Last active Aug 15, 2019
Gitlab runner with docker by cloud init on Hetzner Cloud
View README.md

Quick Terraform script to deploy Gitlab runner with docker onto Hetzner Cloud (Hcloud)

  1. Create other terraform stuff
  • tf-backend,
  • creds.auto.tfvars with hcloud_token
  • ssh key: mkdir keys; ssh-keygen -f id_rsa
  1. modify cloudinit.yml:
  • change gitlab url
  • ADD_YOUR_REGISTRY_TOKEN -> Set to the Gitlab Runner Registration Token
  • Add more allowed images/services, if using gitlab registry, like that: registry.myinstance.com/administrators/docker-images/*, change base image etc.
View DirectUpload.vue
<template lang='pug'>
div.drop-zone(:class='{dragging: isDragging }'
@dragover.prevent='dragover'
@dragenter.prevent='dragover'
@drop.prevent.stop='onDrop'
@dragleave.prevent='dragleave')
div(:class='{ hidden: uploadInProgress }' @click='openFileBrowser')
slot
i {{label}}
input(type='file' :multiple='multiple' ref='input' style='display: none')
View ActiveStorageDocxPreviewer.md

Docx (and other Office doc) previewer support for ActiveStorage

Converts all document formats using LibreOffice first to PDF and then to an image, using build-in pdf previwer of ActiveStorage

  • needs: unoconv, a command line tool which uses libreoffice, e.g. apt install unoconv
  • needs a PDF converter, because libreoffice will make a pdf from the office document, Mupdf oder Poppler are already integrated into ActiveStorage, and poppler is free to use, e.g. apt install poppler-utils
@zealot128
zealot128 / README.md
Last active Jul 28, 2019
Gitlab Autoscaling Infrastructure on Hcloud with internal caching
View README.md

Order and provision a Hetzner Cloud based Gitlab-Runner Docker-machine autoscaling infrastructure

See my blog for more information.

  • Adjust settings in vars.auto.tfvars.
  • Run with terraform init && terraform apply

Content:

@zealot128
zealot128 / Bootstrap4migration.md
Last active May 1, 2019
Bootstrap 3 -> 4 simplistic migration script (Rails based paths and file types)
View Bootstrap4migration.md
  1. Run against code base to make the most labor intensive work
  2. Totally redo navigation from scratch
  3. maybe add -xs stuff, like col-xs- or btn-xs, thats missing from BS4
View ffmpeg_scripts.sh
# Screencast on OSX
ffmpeg -r 30 -f avfoundation -capture_cursor 1 -capture_mouse_clicks 1 -i "1:0" out2.mp4
# Framerate 30
# Cursors + Clicks
# "1:0" -> first screen and microphone
# list all devices for above
ffmpeg -f avfoundation -list_devices true -i ""
@zealot128
zealot128 / README.md
Created Aug 13, 2012
Debian startup file for Rails thin instances
View README.md

Rails startup with bundler, rvm and specific user

e.g. for user stefan, starting two different applications, located under /apps/APPLICATION/prod/current.

This script is very useful, because it is run at startup of server, so no 503 anymore.

Put this script under /etc/init.d/ and make it executable chmod +x /etc/init.d/rails_apps

@zealot128
zealot128 / run.sh
Created Dec 20, 2018
pngquant - optimize all png inplace in a folder
View run.sh
find -type f -name '*.png' | xargs -I@ pngquant -f -o '@' '@'
@zealot128
zealot128 / README.md
Last active Oct 17, 2018
ActiveStorage migration guide and caveats from Carrierwave (similar starting point for Paperclip)
View README.md

Migrate Carrierwave to ActiveStorage

Migrate, e.g. organisation.logo (Carrierwave "LogoUploader") to organisation.logo2 (ActiveStorage)

require 'migrate_attachment'
migrate_attachment!(
  klass: Organisation, 
  attachment_attribute: :logo, 
  carrierwave_uploader: LogoUploader, 
You can’t perform that action at this time.