Skip to content

Instantly share code, notes, and snippets.

@psyray
psyray / jailkit
Last active January 19, 2025 11:49
Jailkit for Debian Stretch (add PHP, Drush, Composer, NodeJS, NPM, Ruby, Gem, Compass)
[php]
comment = the php interpreter and libraries
executables = /usr/bin/php,/usr/bin/php5.6,/usr/bin/php7.0,/usr/bin/php7.1
directories = /usr/lib/php, /usr/share/php, /usr/share/php5, /etc/php, /usr/share/php-geshi, /usr/share/zoneinfo, /etc/snmp, /usr/share/snmp
includesections = env
[env]
comment = environment variables
executables = /usr/bin/env
@BretFisher
BretFisher / Dockerfile
Last active June 27, 2024 13:43
WIP sample Laravel php_fpm plus nginx plus supervisor Docker setup with npm, composer, bower, and more
FROM yourdockername/base-php-nginx:latest AS build
# BUILD STAGE
# the primary reason we have two build stages is so SSH key of private repo's will never
# be in final image
# COPY IN BUILD SSH KEY
# It won't be copied to final image
# add this build arg to compose file
ARG BUILDKEY
RUN if [ -z "$BUILDKEY" ]; then echo "BUILDKEY SSH NOT SET - ERROR"; exit 1; else : ; fi
export default [
{ id: 'AF',
name: 'Afghanistan',
continent: 'Asia',
currencyId: 'AFN',
phoneCode: '93',
flag: '🇦🇫' },
{ id: 'AX',
name: 'Åland Islands',
continent: 'Europe',
@denneulin
denneulin / tips.js
Last active March 14, 2019 12:56
Tips
const _ = require('lodash');
const str = '1dé@#j. à$42^ù`=:/+%M£¨-)àç!Їжакè§("^é& vu';
// exclude all special characters and spaces in a string
const result = _.deburr(str).replace(/\W/g, '');
// result = 1deja42uMaceevu
// exclude all special characters and replaces spaces by underscore in a string
// N spaces side by side = 1 underscore
const result = _.deburr(str).replace(/[^\w\s]/g, '').trim().replace(/\s+/g, '_');
@tolu
tolu / A-ES6-examples-readme.md
Last active September 10, 2018 08:32
Modern javascript examples with old counterparts

leaflet+riot

@ericelliott
ericelliott / assigning-yield-results.js
Last active September 10, 2018 08:32
Assigning `yield` results...
const next = (iter, callback, prev = undefined) => {
// 2. The yielded value is extracted by calling
// .next(). We pass the previous value back into
// the generator for assignment.
const item = iter.next(prev);
const value = item.value;
// 4. The final value gets passed to the callback.
if (item.done) return callback(prev);
@cecilemuller
cecilemuller / letsencrypt_2020.md
Last active August 12, 2026 20:00
How to setup Let's Encrypt for Nginx on Ubuntu 18.04 (including IPv6, HTTP/2 and A+ SSL rating)

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


Virtual hosts

Let's say you want to host domains first.com and second.com.

Create folders for their files:

@spalladino
spalladino / mysql-docker.sh
Created December 22, 2015 13:47
Backup and restore a mysql database from a running Docker mysql container
# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE
@mxriverlynn
mxriverlynn / 0.js
Last active September 10, 2018 08:33
recursing a tree structure with ES6 generators
function *doStuff(){
yield 1;
yield 2;
yield *doStuff();
}
var it = doStuff();
var res;
res = it.next();