Skip to content

Instantly share code, notes, and snippets.

@JamesCullum
JamesCullum / immich-docker-config.md
Last active March 28, 2024 04:30
docker-compose.yml for immich with WAF, DDoS protection, image resizing and without port forwarding

Setup Immich via Docker Compose with WAF, CDN, DDoS protection, no port forwarding and automated image resizing

In this guide, we are using the docker compose setup that is recommended by the Immich team. Once everything is configured and running in your local network, we can expand on it.

The first recommended step is to use Cloudflare Tunnel to make your local instance globally available. This is free and you benefit from the native DDoS protection, WAF and CDN from Cloudflare. The cloudflared daemon basically makes an outgoing connection to Cloudflare and makes the designed interfaces available on the internet, without granting access to undesired parts of the network.

Start off by creating a Cloudflare account, going into the "Zero Trust" portion of the account and add a new tunnel.

@g1ibby
g1ibby / docker-compose.yml
Created July 26, 2020 05:13
xBrowserSync self hosted: docker-compose, traefik v2
version: "3.3"
services:
traefik:
image: "traefik:v2.2"
container_name: "traefik"
command:
- "--api.insecure=true"
- "--providers.docker=true"
@luckman212
luckman212 / pkg_check.php
Last active January 14, 2024 14:54
pfSense auto-update check
<?php
require_once("pkg-utils.inc");
require_once("notices.inc");
require_once("util.inc");
$msg = null;
$pmsg = null;
$p = 0;
@crh0831
crh0831 / config.yaml
Created July 21, 2018 14:34
Beets config
directory: /mnt/chawley/Music
library: /home/chawley/musiclibrary.blb
import:
# write metadata to music files
write: yes
# move imported files from source to the music directory
move: yes
copy: no
@Desani
Desani / ScanMedia.md
Last active April 25, 2024 02:25
3.6 - Corrected issues with determining terminal size in specific use cases. Added file encoding thanks to recommendation by LordKenmou. Fixed update script checker.

This script utilizes ffmpeg, the same tool Plex uses, to decode the video stream and captures the output for any errors during playback and sends the playback errors to a log file. So essentially it plays the video in the background faster than regular speed. It then checks the error output log file to see if there is anything inside. If ffmpeg was able to cleanly play the file, it counts as a passed file. If there is any error output, an error could be anything from a container issue, a missed frame issue, media corruption or more, it counts the file as failed. So if there would be an issue with playback and a video freezing, it would be caught by this method of checking for errors. Because of the nature of the error log, any errors that show up, even simple ones, will all count as a fail and the output is captured so you can view the error log. Some simple errors are easy to fix so I have included an auto-repair feature which attempts to re-encode the file which is able to correct some issues that would cau

@dd-han
dd-han / README.md
Last active January 15, 2022 19:12
using Cloudflare as DDNS in ASUSWRT-Merlin firmware

ASUSWRT-MERLIN custom DDNS Script for Cloudflare

for Cloudflare as DDNS

using Cloudflare API v4

Using

put ddns-start at /jffs/scripts/, setting values and set DDNS type to Custom at web Admin panel.

@sbrants
sbrants / CIFS_mount_Docker.md
Last active August 31, 2021 20:45
Mounting shared drives before starting containers when booting the OS.

I had trouble running containers automatically after booting.

The data volumes are mapped to mounted shared drives and this works as expected when starting the comtainers manually with docker-compose up. I've setup the restart: always policy in my docker-compose.yml so containers would be started after I reboot the OS. This resulted in the container not seing the content of the shared drives. The issue is that the containers would start before the drives were mounted.

To fix the issue I added a dependency on the docker daemon service so it would start after the shares are mounted.

First, create a systemd drop-in directory for the docker service: