Directories on host machine:
-
/data/certbot/letsencrypt -
/data/certbot/www -
Nginx server in docker container
docker run -d --name nginx \
| Easy to use Maintenance page as a Cloudflare Worker. Once set up, you can enable it for unlimited pages in your CF account. Get rid of greedy subscriptions that charge you per domain. | |
| How to: | |
| 1. Go to Cloudflare Workers and create a new Worker (url is https://dash.cloudflare.com/<your-id>/workers/new) | |
| 2. paste the Code from above | |
| 3. Set an AUTH_KEY and AUTH_VALUE and the maintenancePageHtml (optionally) | |
| 4. deploy the worker | |
| 5. goto Cloudflare and choose a domain, click on the Workers section (url is https://dash.cloudflare.com/<your-id>/<domain>/workers) | |
| 6. click on "Add Route" and set the Route you want to enable the maintenance page for (typically <domain>/*) | |
| 7. choose your previously created worker from the dropdown |
Directories on host machine:
/data/certbot/letsencrypt
/data/certbot/www
Nginx server in docker container
docker run -d --name nginx \
| #!/bin/bash | |
| #get highest tag number | |
| VERSION=`git describe --abbrev=0 --tags` | |
| #replace . with space so can split into an array | |
| VERSION_BITS=(${VERSION//./ }) | |
| #get number parts and increase last one by 1 | |
| VNUM1=${VERSION_BITS[0]} |
| import { AfterViewInit, Directive, ElementRef, EventEmitter, forwardRef, Inject, Injectable, InjectionToken, Injector, Input, NgZone, OnInit, Output } from '@angular/core'; | |
| import { AbstractControl, ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms'; | |
| import { Http } from '@angular/http'; | |
| declare const grecaptcha : any; | |
| declare global { | |
| interface Window { | |
| grecaptcha : any; | |
| reCaptchaLoad : () => void |
| import { ChangeDetectorRef } from '@angular/core'; | |
| /** | |
| * @whatItDoes decorates Component with toggleOrder(property), get list() and get(CSS)Class functions. | |
| * | |
| * @howToUse | |
| * \@Component({ | |
| * template: ` | |
| * <table> | |
| * <tr> |
| /** | |
| * @license | |
| * Copyright (c) 2019 Jonathan Catmull. | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| * of this software and associated documentation files (the "Software"), to deal | |
| * in the Software without restriction, including without limitation the rights | |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| * copies of the Software, and to permit persons to whom the Software is | |
| * furnished to do so, subject to the following conditions: |
| function logClass(target: any) { | |
| // save a reference to the original constructor | |
| var original = target; | |
| // a utility function to generate instances of a class | |
| function construct(constructor, args) { | |
| var c : any = function () { | |
| return constructor.apply(this, args); | |
| } |
| /* | |
| * Save a text file locally with a filename by triggering a download | |
| */ | |
| var text = "hello world", | |
| blob = new Blob([text], { type: 'text/plain' }), | |
| anchor = document.createElement('a'); | |
| anchor.download = "hello.txt"; | |
| anchor.href = (window.webkitURL || window.URL).createObjectURL(blob); |
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| Version 2, December 2004 | |
| Copyright (C) 2011 Jed Schmidt <http://jed.is> | |
| Everyone is permitted to copy and distribute verbatim or modified | |
| copies of this license document, and changing it is allowed as long | |
| as the name is changed. | |
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |