Two awsome things were released yesterday :
- bittorrent sync aka btsync
- backupsy
Compare this to the pricing of : dropbox pro
God.watch do |w| | |
w.uid = "git" | |
w.gid = "git" | |
w.name = "camo" | |
w.pid_file = "/data/camo/tmp/camo.pid" | |
w.interval = 30.seconds | |
w.env = { | |
"PORT" => '8080', | |
"CAMO_KEY" => '0x24FEEDFACEDEADBEEFCAFE' |
#! /bin/sh | |
# ------------------------------------------------------------------------------ | |
# SOME INFOS : fairly standard (debian) init script. | |
# Note that node doesn't create a PID file (hence --make-pidfile) | |
# has to be run in the background (hence --background) | |
# and NOT as root (hence --chuid) | |
# | |
# MORE INFOS : INIT SCRIPT http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit | |
# INIT-INFO RULES http://wiki.debian.org/LSBInitScripts | |
# INSTALL/REMOVE http://www.debian-administration.org/articles/28 |
<!doctype html> | |
<html><head> | |
<script type="text/javascript" src="Microphone/swfobject.js"></script> | |
<script type="text/javascript" src="ulaw.js"></script> | |
<script type="text/javascript" src="Microphone/microphone.js"></script> | |
<script type="text/javascript" src="sockjs-0.1.min.js"></script> | |
<script type="text/javascript"> | |
Microphone.debug = true; | |
bsock = new SockJS("/broadcast"); | |
Microphone.initialize({ swfLocation: "Microphone/MicrophoneMain.swf" }); |
/* Read this comment first: https://gist.github.com/tonious/1377667#gistcomment-2277101 | |
* 2017-12-05 | |
* | |
* -- T. | |
*/ | |
#define _XOPEN_SOURCE 500 /* Enable certain library functions (strdup) on linux. See feature_test_macros(7) */ | |
#include <stdlib.h> | |
#include <stdio.h> |
Two awsome things were released yesterday :
Compare this to the pricing of : dropbox pro
/mnt/mastodon
, owned by ubuntu.inventory
with [general]\nyour-host.tld
in it.*.conf
files in this gist into a subdirectory named files
.services.yml
is pointing to them.ansible-playbook -i inventory host-setup.yml
ansible-playbook -i inventory mastodon.yml
#!/usr/bin/env bash | |
# | |
# Make a backup file of a Mastodon instance. The backup file is a TGZ containing | |
# the Postgres dump as well as the /public/system (media) files and the | |
# .env.production file. For loading the dump file contents, see: | |
# https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Migration-guide.md | |
# | |
# Usage: ./mastodon_backup.sh my_dump_file.tgz | |
# | |
# Advanced usage: MASTODON_LIVE_DIRECTORY=/path/to/live ./mastodon_backup.sh my_dump_file.tgz |
# Validates that MX record exists for domain to prevent typos and also block by MX servers | |
# Use by adding to app/models/user.rb | |
# validates_with EmailMXValidator, if: :email_changed? | |
# frozen_string_literal: true | |
require 'resolv' | |
class EmailMXValidator < ActiveModel::Validator | |
def validate(user) | |
domain = user.email.split('@', 2).last | |
mxs = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } |
日本語 => https://gist.github.com/tateisu/3d98290f2b72d12ba5f1b977a0d5743c
SQL exapmle that deletes local copies of external posts flowing from the FTL or relays and that are not referenced long time by local users.
Note: It is "reduction" of data increase , not "to be able to operate infinitely with a fixed disk capacity".