 <!DOCTYPE html>
<html lang="en-US" prefix="og: http://ogp.me/ns#">
<head>
<meta charset="UTF-8">

<!--[if IE]>
        <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
<link rel="profile" href="https://gmpg.org/xfn/11">
<link rel="pingback" href="https://gadelkareem.com/xmlrpc.php">
<!--[if lt IE 9]>
        <script src="https://gadelkareem.com/wp-content/themes/geekapp/js/html5.js"></script>
        <script src="https://gadelkareem.com/wp-content/themes/geekapp/js/respond.min.js"></script>
        <![endif]-->
<!--[if lte IE 7]>
        <script src="https://gadelkareem.com/wp-content/themes/geekapp/js/icons-lte-ie7.js"></script><![endif]-->

<title>GadElKareem | Ideas For Sharing</title>
<meta name="description" content="Ideas For Sharing" />
<link rel="canonical" href="https://gadelkareem.com/" />
<link rel="next" href="https://gadelkareem.com/page/2/" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:title" content="GadElKareem | Ideas For Sharing" />
<meta property="og:description" content="Ideas For Sharing" />
<meta property="og:url" content="https://gadelkareem.com/" />
<meta property="og:site_name" content="GadElKareem" />
<meta property="og:image" content="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ.png" />
<meta property="og:image:secure_url" content="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ.png" />
<meta property="og:image:width" content="1326" />
<meta property="og:image:height" content="611" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:description" content="Ideas For Sharing" />
<meta name="twitter:title" content="GadElKareem | Ideas For Sharing" />
<meta name="twitter:site" content="@gadelkareem" />
<script type='application/ld+json'>{"@context":"https:\/\/schema.org","@type":"WebSite","@id":"#website","url":"https:\/\/gadelkareem.com\/","name":"GadElKareem","potentialAction":{"@type":"SearchAction","target":"https:\/\/gadelkareem.com\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script>
<script type='application/ld+json'>{"@context":"https:\/\/schema.org","@type":"Person","url":"https:\/\/gadelkareem.com\/","sameAs":["https:\/\/www.linkedin.com\/in\/gadelkareem\/","https:\/\/twitter.com\/gadelkareem"],"@id":"#person","name":"Waleed Gadelkareem"}</script>
<meta name="msvalidate.01" content="3D09A36A1BBF43229EA9C90B75E7058E" />
<meta name="yandex-verification" content="5877584a873ae011" />

<link rel='dns-prefetch' href='//gadelkareem.com' />
<link rel='dns-prefetch' href='//s.w.org' />
<link rel="alternate" type="application/rss+xml" title="GadElKareem &raquo; Feed" href="https://gadelkareem.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="GadElKareem &raquo; Comments Feed" href="https://gadelkareem.com/comments/feed/" />

<script type="text/javascript" data-cfasync="false">
	var mi_version         = '7.1.0';
	var mi_track_user      = true;
	var mi_no_track_reason = '';
	
	var disableStr = 'ga-disable-UA-58062887-1';

	/* Function to detect opted out users */
	function __gaTrackerIsOptedOut() {
		return document.cookie.indexOf(disableStr + '=true') > -1;
	}

	/* Disable tracking if the opt-out cookie exists. */
	if ( __gaTrackerIsOptedOut() ) {
		window[disableStr] = true;
	}

	/* Opt-out function */
	function __gaTrackerOptout() {
	  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
	  window[disableStr] = true;
	}
	
	if ( mi_track_user ) {
		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
			(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
			m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
		})(window,document,'script','//www.google-analytics.com/analytics.js','__gaTracker');

		__gaTracker('create', 'UA-58062887-1', 'auto');
		__gaTracker('set', 'forceSSL', true);
		__gaTracker('require', 'displayfeatures');
		__gaTracker('send','pageview');
	} else {
		console.log( "" );
		(function() {
			/* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */
			var noopfn = function() {
				return null;
			};
			var noopnullfn = function() {
				return null;
			};
			var Tracker = function() {
				return null;
			};
			var p = Tracker.prototype;
			p.get = noopfn;
			p.set = noopfn;
			p.send = noopfn;
			var __gaTracker = function() {
				var len = arguments.length;
				if ( len === 0 ) {
					return;
				}
				var f = arguments[len-1];
				if ( typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function' ) {
					console.log( 'Not running function __gaTracker(' + arguments[0] + " ....) because you are not being tracked. " + mi_no_track_reason );
					return;
				}
				try {
					f.hitCallback();
				} catch (ex) {

				}
			};
			__gaTracker.create = function() {
				return new Tracker();
			};
			__gaTracker.getByName = noopnullfn;
			__gaTracker.getAll = function() {
				return [];
			};
			__gaTracker.remove = noopfn;
			window['__gaTracker'] = __gaTracker;
					})();
		}
</script>

<script type="text/javascript">
			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/gadelkareem.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.9"}};
			!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
		</script>
<style type="text/css">
img.wp-smiley,
img.emoji {
	display: inline !important;
	border: none !important;
	box-shadow: none !important;
	height: 1em !important;
	width: 1em !important;
	margin: 0 .07em !important;
	vertical-align: -0.1em !important;
	background: none !important;
	padding: 0 !important;
}
</style>
<link rel='stylesheet' id='zozo-prettyphoto-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/css/prettyPhoto.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-font-awesome-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/css/font-awesome.min.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-simple-line-icons-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/css/simple-line-icons.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-theme-bootstrap-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/css/bootstrap.min.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-theme-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/style.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-theme-responsive-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/css/responsive.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-color-scheme-style-css' href='https://gadelkareem.com/wp-content/themes/geekapp/color-schemes/color-1.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='zozo-shortcodes-css' href='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/shortcodes/shortcodes.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='style.owl.carousel-css' href='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/owl-carousel/css/owl.carousel.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='style.owl.carousel.theme-css' href='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/owl-carousel/css/owl.theme.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='style.owl.carousel.transitions-css' href='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/owl-carousel/css/owl.transitions.css?ver=4.9.9' type='text/css' media='all' />
<link rel='stylesheet' id='style.owl.carousel.styles-css' href='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/owl-carousel/css/styles.css?ver=4.9.9' type='text/css' media='all' />
<script type='text/javascript'>
/* <![CDATA[ */
var monsterinsights_frontend = {"js_events_tracking":"true","is_debug_mode":"false","download_extensions":"doc,exe,js,pdf,ppt,tgz,zip,xls","inbound_paths":"","home_url":"https:\/\/gadelkareem.com","track_download_as":"event","internal_label":"int","hash_tracking":"false"};
/* ]]> */
</script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend.min.js?ver=7.1.0'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var zozo_js_vars = {"zozo_template_uri":"https:\/\/gadelkareem.com\/wp-content\/themes\/geekapp"};
/* ]]> */
</script>
<script type='text/javascript' src='https://gadelkareem.com/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/bootstrapValidator.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/bootstrap.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/general.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/shortcodes/js/shortcodes.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/owl-carousel/js/owl.carousel.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/includes/plugins/owl-carousel/js/script.js?ver=4.9.9'></script>
<link rel='https://api.w.org/' href='https://gadelkareem.com/wp-json/' />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://gadelkareem.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://gadelkareem.com/wp-includes/wlwmanifest.xml" />
<meta name="generator" content="WordPress 4.9.9" />
<script type="text/javascript">
	window._wp_rp_static_base_url = 'https://wprp.zemanta.com/static/';
	window._wp_rp_wp_ajax_url = "https://gadelkareem.com/wp-admin/admin-ajax.php";
	window._wp_rp_plugin_version = '3.5.3';
	window._wp_rp_post_id = '37442';
	window._wp_rp_num_rel_posts = '6';
	window._wp_rp_thumbnails = true;
	window._wp_rp_post_title = 'Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04';
	window._wp_rp_post_tags = ['docker', 'registry', 'repository', 'solutions', 'blog', 'docker', 'cd', 'mount', 'curl', 'cloud', 'cat', 'gener', 'registri', 'ubuntu', 'deb', 'cp', 'ssl', '777', 'bionic', 'renew', 'certif'];
	window._wp_rp_promoted_content = true;
</script>
<link rel="stylesheet" href="https://gadelkareem.com/wp-content/plugins/gadelkareem_related_posts/static/themes/twocolumns.css?version=3.5.3" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /><link rel="shortcut icon" href="https://gadelkareem.com/wp-content/uploads/2014/12/1419938903_20232.ico" type="image/x-icon" /><link rel="apple-touch-icon" href="https://gadelkareem.com/wp-content/uploads/2014/12/1419938892_G03.png"><link rel="apple-touch-icon" sizes="114x114" href="https://gadelkareem.com/wp-content/uploads/2014/12/1419938892_G03.png"><link rel="apple-touch-icon" sizes="72x72" href="https://gadelkareem.com/wp-content/uploads/2014/12/1419938892_G03.png"><link rel="apple-touch-icon" sizes="144x144" href="https://gadelkareem.com/wp-content/uploads/2014/12/1419938892_G03.png">
<script type="text/javascript">
WebFontConfig = {google: { families: [ "Open+Sans:300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic", "Pacifico:300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic", "Lato:300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic" ] },};
(function() {
		var wf = document.createElement('script');
		wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
		  '://ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js';
		wf.type = 'text/javascript';
		wf.async = 'true';
		var s = document.getElementsByTagName('script')[0];
		s.parentNode.insertBefore(wf, s);
		})();
</script>

<style type="text/css">
#zozo_wrapper .header-section { background-size: cover;-moz-background-size: cover;-webkit-background-size: cover;-o-background-size: cover;-ms-background-size: cover; }
.navbar-header a, .widget .site-title { font-family: Pacifico;font-size: 28px;font-style: normal;font-weight: 800;color: #ffffff; }
.fullwidth .container, .zozo-owl-carousel .owl-controls { max-width: 1200px; }
.fullwidth .container-big { max-width: 1320px; }
.boxed #zozo_wrapper { max-width: 1200px; }
.boxed .container, .zozo-owl-carousel .owl-controls { max-width: 1200px; }
.boxed .container-big { max-width: 1320px; }
body { font-family: Open Sans;font-size: 14px;font-style: normal;font-weight: 400;color: #a5a5a5; }
#main-wrapper, #main-wrapper #primary, #main-wrapper #sidebar, #main-wrapper #secondary-sidebar { min-height: 300px; }
.dropdown-menu { min-width: 160px; }
.nav.navbar-nav.zozo-main-nav li a, .nav.navbar-nav.zozo-main-nav li span.menu-toggler, .menu-icon-box { font-family: Lato;font-size: 13px;font-style: normal;font-weight: 800;color: ; }
.nav.navbar-nav.zozo-main-nav .dropdown-menu a, .nav.navbar-nav.zozo-main-nav li .zozo-megamenu-container .zozo-megamenu a { font-family: Lato;font-size: 13px;font-style: normal;font-weight: 700;color: ; }
h1, .section-title { font-family: Lato;font-size: 61px;font-style: normal;font-weight: 300;color: ; }
h2, h2 a, .left-banner-text h2, .carousel-section .item-text .carousel-title { font-family: Lato;font-size: 53px;font-style: normal;font-weight: 300;color: ; }
h3, .section-title-medium { font-family: Lato;font-size: 42px;font-style: normal;font-weight: 300;color: ; }
h4, .section-slogan, .entry-content .section-slogan, .comment-reply-title, .widget-title { font-family: Lato;font-size: 32px;font-style: normal;font-weight: 300;color: ; }
h5, .carousel-section .item-text .carousel-desc, .grid-title, .testimonial-author, .owl-carousel.grid .item-text .carousel-title, .pricing-head .pricing-title, .related-post-item h5 > a { font-family: Lato;font-size: 21px;font-style: normal;font-weight: 700;color: ; }
h6, .features-left-info ul li, .testimonial-msg p, .testimonial-author .author-sub, .owl-carousel.grid .item-text .carousel-desc, .pricing-box ul li { font-family: Lato;font-size: 17px;font-style: normal;font-weight: 700;color: ; }
.post .entry-title a { font-family: Lato;font-size: 34px;font-style: normal;font-weight: 700;color: #232323; }
.entry-title, .category-title { font-family: Lato;font-size: 34px;font-style: normal;font-weight: 700;color: #232323; }
.footer-widgets .widget h3 { font-family: Lato;font-size: 17px;font-style: normal;font-weight: 600;color: ; }
.footer-widgets div, .footer-widgets p, .footer-copyright-section p { font-family: Lato;font-size: 12px;font-style: normal;font-weight: 400;color: ; }
</style>
<script type="text/javascript">
var ajaxurl = 'https://gadelkareem.com/wp-admin/admin-ajax.php';
</script>
<script type="text/javascript">
    jQuery.noConflict();

    jQuery(function($){
    $(window).load(function() {
    $('.flexslider.blog-slider').imagesLoaded( function() {
    $('.flexslider.blog-slider').flexslider({
    animation: "slide",
    slideshow: false,
    slideshowSpeed: 5000,
    animationSpeed: 600,
    controlNav: false,
    useCSS: false
    });
    });

    });
    });

    jQuery(window).load(function() {
    var curPage = 1;
    var pagesNum = jQuery('ul.pagination').find("a.page-numbers:not('.current, .next, .prev'):last").text();
    jQuery('#sc-posts-infinite-container').infinitescroll({
    loading: {
    msg: null,
    finishedMsg : '<span class="all-loaded">All Posts displayed</span>',
    img: 'https://gadelkareem.com/wp-content/themes/geekapp/images/ajax-loader.gif',
    msgText: "",
    },
    navSelector  : 'ul.pagination',
    nextSelector : 'ul.pagination li a.next',
    itemSelector : 'div.post',
    errorCallback: function() {
    if(jQuery('#sc-posts-infinite-container').hasClass('grid-layout')) {
    jQuery('#sc-posts-infinite-container').isotope('layout');
    }
    }
    }, function( posts ) {

    var $newPosts = jQuery( posts );

    curPage++;

    if(curPage == pagesNum) {
    jQuery(window).unbind('.infscr');
    }

    $newPosts.css({ opacity: 0 });
    $newPosts.imagesLoaded(function() {
    $newPosts.animate({ opacity: 1 }, 300, "linear");
    if(jQuery('#sc-posts-infinite-container').hasClass('grid-layout')) {
    jQuery('#sc-posts-infinite-container').isotope('appended', $newPosts);
    jQuery('#sc-posts-infinite-container').isotope('layout');
    }
    });

    if(Modernizr.mq('only screen and (min-width: 1025px)')) {
    var gridwidth = (jQuery('.grid-col-2').width() / 2) - 10;
    jQuery('.grid-col-2 .grid-posts').css('width', gridwidth);

    var gridwidth = (jQuery('.grid-col-3').width() / 3) - 15;
    jQuery('.grid-col-3 .grid-posts').css('width', gridwidth);

    var gridwidth = (jQuery('.grid-col-4').width() / 4) - 15;
    jQuery('.grid-col-4 .grid-posts').css('width', gridwidth);
    }

    if(Modernizr.mq('only screen and (max-width: 1024px) and (min-width: 768px)')) {
    if( jQuery('body').hasClass( 'three-col-middle' ) || jQuery('body').hasClass( 'three-col-right' ) || jQuery('body').hasClass( 'three-col-left' ) ) {
    jQuery('.three-col-middle .grid-col-2 .grid-posts, .three-col-right .grid-col-2 .grid-posts, .three-col-left .grid-col-2 .grid-posts, .three-col-middle .grid-col-3 .grid-posts, .three-col-right .grid-col-3 .grid-posts, .three-col-left .grid-col-3 .grid-posts, .three-col-middle .grid-col-4 .grid-posts, .three-col-right .grid-col-4 .grid-posts, .three-col-left .grid-col-4 .grid-posts').imagesLoaded( function() {
    jQuery('.three-col-middle .grid-col-2 .grid-posts, .three-col-right .grid-col-2 .grid-posts, .three-col-left .grid-col-2 .grid-posts, .three-col-middle .grid-col-3 .grid-posts, .three-col-right .grid-col-3 .grid-posts, .three-col-left .grid-col-3 .grid-posts, .three-col-middle .grid-col-4 .grid-posts, .three-col-right .grid-col-4 .grid-posts, .three-col-left .grid-col-4 .grid-posts').css('width', '100%');
    jQuery('.three-col-middle .grid-col-2, .three-col-right .grid-col-2, .three-col-left .grid-col-2, .three-col-middle .grid-col-3, .three-col-right .grid-col-3, .three-col-left .grid-col-3, .three-col-middle .grid-col-4, .three-col-right .grid-col-4, .three-col-left .grid-col-4').isotope({
    resizable: false,
    masonry: {
    columnWidth: '.grid-posts',
    gutter: 0
    }
    });
    });
    } else {
    var gridwidth = (jQuery('.grid-col-2').width() / 2) - 10;
    jQuery('.grid-col-2 .grid-posts').css('width', gridwidth);

    var gridwidth = (jQuery('.grid-col-3').width() / 2) - 15;
    jQuery('.grid-col-3 .grid-posts').css('width', gridwidth);

    var gridwidth = (jQuery('.grid-col-4').width() / 2) - 15;
    jQuery('.grid-col-4 .grid-posts').css('width', gridwidth);
    }
    }

    if(Modernizr.mq('only screen and (max-width: 767px)')) {
    jQuery('.grid-col-2 .grid-posts, .grid-col-3 .grid-posts, .grid-col-4 .grid-posts').imagesLoaded( function() {
    jQuery('.grid-col-2 .grid-posts, .grid-col-3 .grid-posts, .grid-col-4 .grid-posts').css('width', '100%');
    jQuery('.grid-col-2, .grid-col-3, .grid-col-4').isotope({
    resizable: false,
    masonry: {
    columnWidth: '.grid-posts',
    gutter: 0
    }
    });
    });
    }

    $newPosts.find('audio,video').mediaelementplayer();

    $newPosts.find("a[rel^='prettyPhoto'], a[data-rel^='prettyPhoto']").prettyPhoto({social_tools: false, deeplinking: false});

    jQuery('.flexslider.blog-slider').imagesLoaded( function() {
    jQuery('.flexslider.blog-slider').flexslider({
    animation: "slide",
    slideshow: false,
    slideshowSpeed: 5000,
    animationSpeed: 600,
    controlNav: false,
    useCSS: false
    });
    });

    if(jQuery('#sc-posts-infinite-container').hasClass('grid-layout')) {
    jQuery('#sc-posts-infinite-container').isotope('layout');
    }

    });
    });

    jQuery(document).ready(function($) {
        $("#header").sticky({
            topSpacing: $('#wpadminbar:visible').length  ? $('#wpadminbar').height() - 15 : 0,
            wrapperClassName: 'header-sticky',
        })
        .on('sticky-start', function() { $('#jumpToTop').fadeTo( "slow" , 0.4); })
        .on('sticky-end', function() { $('#jumpToTop').fadeOut(); });
    });
</script>
</head>
<body class="home blog fullwidth blog-medium logo-left header-transparent two-col-left">
<div class="secondary_menu left">
<div class="secondary-menu-inner">
<a href="#" target="_self" class="secondary_menu_close"><i class="fa fa-times"></i></a>
<div id="categories-4" class="widget widget_categories"><h3 class="widget-title">Topics</h3> <ul>
<li class="cat-item cat-item-1"><a href="https://gadelkareem.com/category/my-blogs/" title="My own topics">Blog</a> (70)
</li>
<li class="cat-item cat-item-968"><a href="https://gadelkareem.com/category/docker/">docker</a> (1)
</li>
<li class="cat-item cat-item-961"><a href="https://gadelkareem.com/category/golang/">golang</a> (5)
</li>
<li class="cat-item cat-item-945"><a href="https://gadelkareem.com/category/java/">Java</a> (1)
</li>
<li class="cat-item cat-item-78"><a href="https://gadelkareem.com/category/linux/">Linux</a> (25)
</li>
<li class="cat-item cat-item-2"><a href="https://gadelkareem.com/category/news/" title="Latest news">News</a> (3)
</li>
<li class="cat-item cat-item-5"><a href="https://gadelkareem.com/category/programs/" title="Software">Programs</a> (14)
</li>
<li class="cat-item cat-item-924"><a href="https://gadelkareem.com/category/sailsjs/">sailsJS</a> (1)
</li>
<li class="cat-item cat-item-3"><a href="https://gadelkareem.com/category/solutions/" title="Easy solutions and ideas found after long googling or hard coding">Solutions</a> (66)
</li>
<li class="cat-item cat-item-933"><a href="https://gadelkareem.com/category/wordpress/">Wordpress</a> (2)
</li>
</ul>
</div> </div>
</div>
<div id="zozo_wrapper" class="wrapper-class">
<div id="header" class="header-section">
<div id="header-top" class="header-top-bar">
<div class="container">
<div id="secondary-menu" class="header-top-bar-sidemenu side-menu">
<a class="secondary_menu_button" href="javascript:void(0)">
<i class="fa fa-bars"></i>
</a>
</div>
<div class="navbar-header zozo-logo"><a href="https://gadelkareem.com/" title="GadElKareem" class="navbar-brand site-logo-text">Gadelkareem</a><div class="navbar-header nav-respons"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".zozo-topnavbar-collapse"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div></div>
<nav class="navbar-collapse zozo-topnavbar-collapse collapse zozo-top-bar" role="navigation">
<ul class="nav navbar-nav zozo-top-navbar">
<li class="header-top-right">
<div id="header-top-search" class="header-top-right-search">
<span class="simple-icon icon-magnifier btn-trigger"></span>
<form role="search" method="get" id="searchform" action="https://gadelkareem.com/" class="search-form">
<div class="input-group">
<input type="text" value="" name="s" id="s" class="form-control" placeholder="Search" />
<span class="input-group-btn">
<button class="btn btn-search" type="submit"><i class="fa fa-search"></i></button>
</span>
</div>
</form> </div>
<div id="header-sidebar-social" class="sidebar-social"><ul class="zozo-social-icons soc-icon-circle"><li class="github"><a target="_blank" rel="nofollow" href="https://github.com/gadelkareem"><i class="fa fa-github"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/gadelkareem"><i class="fa fa-twitter"></i></a></li><li class="rss"><a target="_blank" rel="nofollow" href="https://gadelkareem.com/feed/"><i class="fa fa-rss"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:gadelkareem@gmail.com"><i class="fa fa-envelope"></i></a></li></ul></div> </li>
</ul>
</nav>
</div>

</div>

</div>
<div id="main" class="main-section">
<div class="page-title-section"><div class="container page-title-container"><div class="page-title-header"><h1 class="entry-title title single-title">Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04</h1></div><div class="page-breadcrumbs"><ul class="breadcrumbs"><li>Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04</li></ul></div></div></div><div class="container">
<div id="main-wrapper" class="zozo-row row">
<div id="single-sidebar-container" class="single-sidebar-container main-col-full">
<div class="zozo-row row">
<div id="primary" class="content-area content-col-small">
<div id="content" class="site-content">
<div id="archive-posts-container" class="medium-layout clearfix">
<div id="post-37442" class="medium-posts col-sm-12 post-37442 post type-post status-publish format-standard has-post-thumbnail hentry category-my-blogs category-docker category-solutions tag-docker tag-registry tag-repository">
<div class="posts-inner-container clearfix">
<div class="entry-thumbnail blog-medium-image col-sm-4">
<a href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/" title="Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04" class="post-img-overlay"><img width="500" height="280" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-500x280.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-500x280.png 500w, https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-180x100.png 180w" sizes="(max-width: 500px) 100vw, 500px" /><noscript><img width="500" height="280" src="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-500x280.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-500x280.png 500w, https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-180x100.png 180w" sizes="(max-width: 500px) 100vw, 500px" /></noscript></a>
</div>
<div class="posts-content-container">
<div class="entry-header">
<h2 class="entry-title">
<a href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/" rel="bookmark" title="Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04" class="entry-title title single-title">Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04</a>
</h2>
<ul class="entry-meta">
<li class="vcard author author">By <span class="fn"><a href="https://gadelkareem.com/author/admin/" title="Posts by GadElKareem" rel="author">GadElKareem</a></span></li>
<li class="date">on <span class="entry-date date updated">October 23, 2018</span></li>
<li class="category divider"><i class="fa fa-list-alt"></i><a href="https://gadelkareem.com/category/my-blogs/" rel="category tag">Blog</a>, <a href="https://gadelkareem.com/category/docker/" rel="category tag">docker</a>, <a href="https://gadelkareem.com/category/solutions/" rel="category tag">Solutions</a></li>
<li class="comments-link divider"><a href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/#respond"><span class="dsq-postid" data-dsqidentifier="37442 https://gadelkareem.com/?p=37442"><span class="leave-reply">0</span></span></a> </li>
<div class="fb-like" data-href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
</ul>
</div>
<div class="entry-summary">
<p>Install a private docker registry on your cloud with letsencrypt certificates in a few easy steps. The shell script will install docker and letsencrypt, generate the certificate, then mount it to the docker registry. Additionally it will create a test user for basic authentication.</p> </div>
<div class="entry-footer">
<div class="read-more">
<a href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/" class="btn btn-grey btn-more read-more-link">Learn More</a>
</div>
<div class="share-options">
<div class="zozo-social-share-box"><ul class="zozo-social-share-icons share-box"><li class="facebook"><a target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F" title="facebook"><i class="fa fa-facebook"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/home?status=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04%20-%20https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F" title="twitter"><i class="fa fa-twitter"></i></a></li><li class="linkedin"><a target="_blank" rel="nofollow" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F&amp;title=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04"><i class="fa fa-linkedin"></i></a></li><li class="pinterest"><a target="_blank" rel="nofollow" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F&amp;description=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04&amp;media=https%3A%2F%2Fgadelkareem.com%2Fwp-content%2Fuploads%2F2018%2F10%2F1_JAJ910fg52ODIRZjHXASBQ-860x470.png"><i class="fa fa-pinterest"></i></a></li><li class="googleplus"><a target="_blank" rel="nofollow" href="https://plus.google.com/share?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F"><i class="fa fa-google-plus"></i></a></li><li class="tumblr"><a target="_blank" rel="nofollow" href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F&amp;name=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04&amp;description=Install+a+private+docker+registry+on+your+cloud+with+letsencrypt+certificates+in+a+few+easy+steps.+The+shell+script+will+install+docker+and+letsencrypt%2C+generate+the+certificate%2C+then+mount+it..."><i class="fa fa-tumblr"></i></a></li><li class="reddit"><a target="_blank" rel="nofollow" href="https://reddit.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F&amp;title=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04"><i class="fa fa-reddit"></i></a></li><li class="digg"><a target="_blank" rel="nofollow" href="https://digg.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F&amp;title=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04"><i class="fa fa-digg"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:?subject=Deploy+a+docker+registry+with+letsencrypt+certificates+on+Ubuntu+18.04&amp;body=https%3A%2F%2Fgadelkareem.com%2F2018%2F10%2F23%2Fdeploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04%2F"><i class="fa fa-envelope"></i></a></li></ul></div> </div>
</div>
</div>
</div>
</div><div id="post-37426" class="medium-posts col-sm-12 post-37426 post type-post status-publish format-standard has-post-thumbnail hentry category-my-blogs category-golang category-solutions tag-ansible tag-golang tag-service tag-systemd">
<div class="posts-inner-container clearfix">
<div class="entry-thumbnail blog-medium-image col-sm-4">
<a href="https://gadelkareem.com/2018/05/08/ansible-golang-service/" title="Ansible Golang Service" class="post-img-overlay"><img width="320" height="207" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud.png 320w, https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud-150x97.png 150w, https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud-300x194.png 300w" sizes="(max-width: 320px) 100vw, 320px" /><noscript><img width="320" height="207" src="https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud.png 320w, https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud-150x97.png 150w, https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud-300x194.png 300w" sizes="(max-width: 320px) 100vw, 320px" /></noscript></a>
</div>
<div class="posts-content-container">
<div class="entry-header">
<h2 class="entry-title">
<a href="https://gadelkareem.com/2018/05/08/ansible-golang-service/" rel="bookmark" title="Ansible Golang Service" class="entry-title title single-title">Ansible Golang Service</a>
</h2>
<ul class="entry-meta">
<li class="vcard author author">By <span class="fn"><a href="https://gadelkareem.com/author/admin/" title="Posts by GadElKareem" rel="author">GadElKareem</a></span></li>
<li class="date">on <span class="entry-date date updated">May 8, 2018</span></li>
<li class="category divider"><i class="fa fa-list-alt"></i><a href="https://gadelkareem.com/category/my-blogs/" rel="category tag">Blog</a>, <a href="https://gadelkareem.com/category/golang/" rel="category tag">golang</a>, <a href="https://gadelkareem.com/category/solutions/" rel="category tag">Solutions</a></li>
<li class="comments-link divider"><a href="https://gadelkareem.com/2018/05/08/ansible-golang-service/#respond"><span class="dsq-postid" data-dsqidentifier="37426 https://gadelkareem.com/?p=37426"><span class="leave-reply">0</span></span></a> </li>
<div class="fb-like" data-href="https://gadelkareem.com/2018/05/08/ansible-golang-service/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
</ul>
</div>
<div class="entry-summary">
<a href="https://github.com/gadelkareem/ansible-golang-service">Ansible Golang Service</a>
<p>Ansible role for deploying and running a Golang binary as a systemd service</p>
<ul>
<li>Copy the files into your playbook and set the service_name and base_path to your application.</li>
<li>The service uses rsyslog to create error.log and access.log.</li>
<li>Logrotate config included.</li>
<li>Handles <a href="https://beego.me/">Beego framework</a> logging.</li>
</ul> </div>
<div class="entry-footer">
<div class="read-more">
<a href="https://gadelkareem.com/2018/05/08/ansible-golang-service/" class="btn btn-grey btn-more read-more-link">Learn More</a>
</div>
<div class="share-options">
<div class="zozo-social-share-box"><ul class="zozo-social-share-icons share-box"><li class="facebook"><a target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F" title="facebook"><i class="fa fa-facebook"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/home?status=Ansible+Golang+Service%20-%20https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F" title="twitter"><i class="fa fa-twitter"></i></a></li><li class="linkedin"><a target="_blank" rel="nofollow" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F&amp;title=Ansible+Golang+Service"><i class="fa fa-linkedin"></i></a></li><li class="pinterest"><a target="_blank" rel="nofollow" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F&amp;description=Ansible+Golang+Service&amp;media=https%3A%2F%2Fgadelkareem.com%2Fwp-content%2Fuploads%2F2018%2F05%2Fgophercloud.png"><i class="fa fa-pinterest"></i></a></li><li class="googleplus"><a target="_blank" rel="nofollow" href="https://plus.google.com/share?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F"><i class="fa fa-google-plus"></i></a></li><li class="tumblr"><a target="_blank" rel="nofollow" href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F&amp;name=Ansible+Golang+Service&amp;description=Ansible+Golang+Service+Ansible+role+for+deploying+and+running+a+Golang+binary+as+a+systemd+service+Copy+the+files+into+your+playbook+and+set+the+service_name+and+base_path+to+your..."><i class="fa fa-tumblr"></i></a></li><li class="reddit"><a target="_blank" rel="nofollow" href="https://reddit.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F&amp;title=Ansible+Golang+Service"><i class="fa fa-reddit"></i></a></li><li class="digg"><a target="_blank" rel="nofollow" href="https://digg.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F&amp;title=Ansible+Golang+Service"><i class="fa fa-digg"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:?subject=Ansible+Golang+Service&amp;body=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F08%2Fansible-golang-service%2F"><i class="fa fa-envelope"></i></a></li></ul></div> </div>
</div>
</div>
</div>
</div><div id="post-37422" class="medium-posts col-sm-12 post-37422 post type-post status-publish format-standard has-post-thumbnail hentry category-my-blogs category-golang category-solutions tag-auto tag-draft">
<div class="posts-inner-container clearfix">
<div class="entry-thumbnail blog-medium-image col-sm-4">
<a href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/" title="Golang send mail without authentication using localhost sendmail or postfix" class="post-img-overlay"><img width="248" height="272" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail.jpeg" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail.jpeg 248w, https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail-137x150.jpeg 137w" sizes="(max-width: 248px) 100vw, 248px" /><noscript><img width="248" height="272" src="https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail.jpeg" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail.jpeg 248w, https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail-137x150.jpeg 137w" sizes="(max-width: 248px) 100vw, 248px" /></noscript></a>
</div>
<div class="posts-content-container">
<div class="entry-header">
<h2 class="entry-title">
<a href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/" rel="bookmark" title="Golang send mail without authentication using localhost sendmail or postfix" class="entry-title title single-title">Golang send mail without authentication using localhost sendmail or postfix</a>
</h2>
<ul class="entry-meta">
<li class="vcard author author">By <span class="fn"><a href="https://gadelkareem.com/author/admin/" title="Posts by GadElKareem" rel="author">GadElKareem</a></span></li>
<li class="date">on <span class="entry-date date updated">May 3, 2018</span></li>
<li class="category divider"><i class="fa fa-list-alt"></i><a href="https://gadelkareem.com/category/my-blogs/" rel="category tag">Blog</a>, <a href="https://gadelkareem.com/category/golang/" rel="category tag">golang</a>, <a href="https://gadelkareem.com/category/solutions/" rel="category tag">Solutions</a></li>
<li class="comments-link divider"><a href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/#respond"><span class="dsq-postid" data-dsqidentifier="37422 https://gadelkareem.com/?p=37422"><span class="leave-reply">0</span></span></a> </li>
<div class="fb-like" data-href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
</ul>
</div>
<div class="entry-summary">
<p>This is an alternative to <a href="https://golang.org/pkg/net/smtp/#SendMail">native SendMail() function</a> that requires authentication in Golang. The function is part of <a href="https://github.com/gadelkareem/go-helpers">Go Helpers library available on github</a>.</p> </div>
<div class="entry-footer">
<div class="read-more">
<a href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/" class="btn btn-grey btn-more read-more-link">Learn More</a>
</div>
<div class="share-options">
<div class="zozo-social-share-box"><ul class="zozo-social-share-icons share-box"><li class="facebook"><a target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F" title="facebook"><i class="fa fa-facebook"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/home?status=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix%20-%20https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F" title="twitter"><i class="fa fa-twitter"></i></a></li><li class="linkedin"><a target="_blank" rel="nofollow" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F&amp;title=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix"><i class="fa fa-linkedin"></i></a></li><li class="pinterest"><a target="_blank" rel="nofollow" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F&amp;description=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix&amp;media=https%3A%2F%2Fgadelkareem.com%2Fwp-content%2Fuploads%2F2018%2F05%2Fgopher_mail.jpeg"><i class="fa fa-pinterest"></i></a></li><li class="googleplus"><a target="_blank" rel="nofollow" href="https://plus.google.com/share?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F"><i class="fa fa-google-plus"></i></a></li><li class="tumblr"><a target="_blank" rel="nofollow" href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F&amp;name=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix&amp;description=This+is+an+alternative+to+native+SendMail%28%29+function+that+requires+authentication+in+Golang.+The+function+is+part+of+Go+Helpers+library+available+on+github."><i class="fa fa-tumblr"></i></a></li><li class="reddit"><a target="_blank" rel="nofollow" href="https://reddit.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F&amp;title=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix"><i class="fa fa-reddit"></i></a></li><li class="digg"><a target="_blank" rel="nofollow" href="https://digg.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F&amp;title=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix"><i class="fa fa-digg"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:?subject=Golang+send+mail+without+authentication+using+localhost+sendmail+or+postfix&amp;body=https%3A%2F%2Fgadelkareem.com%2F2018%2F05%2F03%2Fgolang-send-mail-without-authentication-using-localhost-sendmail-or-postfix%2F"><i class="fa fa-envelope"></i></a></li></ul></div> </div>
</div>
</div>
</div>
</div><div id="post-37417" class="medium-posts col-sm-12 post-37417 post type-post status-publish format-standard has-post-thumbnail hentry category-my-blogs category-solutions tag-allow tag-aws tag-cache tag-com tag-css tag-error tag-example tag-file tag-for tag-front tag-get tag-here tag-html tag-ip tag-js tag-port tag-problem tag-request tag-server tag-static tag-user">
<div class="posts-inner-container clearfix">
<div class="entry-thumbnail blog-medium-image col-sm-4">
<a href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/" title="Varnish 5.1 always online" class="post-img-overlay"><img width="219" height="280" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://gadelkareem.com/wp-content/uploads/2018/04/varnish-bunny-219x280.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" /><noscript><img width="219" height="280" src="https://gadelkareem.com/wp-content/uploads/2018/04/varnish-bunny-219x280.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" /></noscript></a>
</div>
<div class="posts-content-container">
<div class="entry-header">
<h2 class="entry-title">
<a href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/" rel="bookmark" title="Varnish 5.1 always online" class="entry-title title single-title">Varnish 5.1 always online</a>
</h2>
<ul class="entry-meta">
<li class="vcard author author">By <span class="fn"><a href="https://gadelkareem.com/author/admin/" title="Posts by GadElKareem" rel="author">GadElKareem</a></span></li>
<li class="date">on <span class="entry-date date updated">April 30, 2018</span></li>
<li class="category divider"><i class="fa fa-list-alt"></i><a href="https://gadelkareem.com/category/my-blogs/" rel="category tag">Blog</a>, <a href="https://gadelkareem.com/category/solutions/" rel="category tag">Solutions</a></li>
<li class="comments-link divider"><a href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/#respond"><span class="dsq-postid" data-dsqidentifier="37417 https://gadelkareem.com/?p=37417"><span class="leave-reply">0</span></span></a> </li>
<div class="fb-like" data-href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
</ul>
</div>
<div class="entry-summary">
<p>Recently I posted about <a href="https://gadelkareem.com/2018/04/13/varnish-with-secure-aws-s3-bucket-as-backend/">Varnish with secure AWS S3 bucket as backend</a> and I wanted to have the &#8220;always online&#8221; enabled, meaning you can take the backend offline while serving from Varnish cache. </p> </div>
<div class="entry-footer">
<div class="read-more">
<a href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/" class="btn btn-grey btn-more read-more-link">Learn More</a>
</div>
<div class="share-options">
<div class="zozo-social-share-box"><ul class="zozo-social-share-icons share-box"><li class="facebook"><a target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F" title="facebook"><i class="fa fa-facebook"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/home?status=Varnish+5.1+always+online%20-%20https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F" title="twitter"><i class="fa fa-twitter"></i></a></li><li class="linkedin"><a target="_blank" rel="nofollow" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F&amp;title=Varnish+5.1+always+online"><i class="fa fa-linkedin"></i></a></li><li class="pinterest"><a target="_blank" rel="nofollow" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F&amp;description=Varnish+5.1+always+online&amp;media=https%3A%2F%2Fgadelkareem.com%2Fwp-content%2Fuploads%2F2018%2F04%2Fvarnish-bunny.png"><i class="fa fa-pinterest"></i></a></li><li class="googleplus"><a target="_blank" rel="nofollow" href="https://plus.google.com/share?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F"><i class="fa fa-google-plus"></i></a></li><li class="tumblr"><a target="_blank" rel="nofollow" href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F&amp;name=Varnish+5.1+always+online&amp;description=Recently+I+posted+about+Varnish+with+secure+AWS+S3+bucket+as+backend+and+I+wanted+to+have+the+%26%238220%3Balways+online%26%238221%3B+enabled%2C+meaning+you+can+take+the+backend+offline+while+serving..."><i class="fa fa-tumblr"></i></a></li><li class="reddit"><a target="_blank" rel="nofollow" href="https://reddit.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F&amp;title=Varnish+5.1+always+online"><i class="fa fa-reddit"></i></a></li><li class="digg"><a target="_blank" rel="nofollow" href="https://digg.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F&amp;title=Varnish+5.1+always+online"><i class="fa fa-digg"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:?subject=Varnish+5.1+always+online&amp;body=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F30%2Fvarnish-vcl-5-1-always-online%2F"><i class="fa fa-envelope"></i></a></li></ul></div> </div>
</div>
</div>
</div>
</div><div id="post-37401" class="medium-posts col-sm-12 post-37401 post type-post status-publish format-standard has-post-thumbnail hentry category-my-blogs category-solutions tag-ansible tag-solr tag-systemd">
<div class="posts-inner-container clearfix">
<div class="entry-thumbnail blog-medium-image col-sm-4">
<a href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/" title="Install Solr as systemd with restart on failure" class="post-img-overlay"><img width="500" height="280" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-500x280.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-500x280.png 500w, https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-180x100.png 180w" sizes="(max-width: 500px) 100vw, 500px" /><noscript><img width="500" height="280" src="https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-500x280.png" class="attachment-blog-medium size-blog-medium wp-post-image" alt="" srcset="https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-500x280.png 500w, https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-180x100.png 180w" sizes="(max-width: 500px) 100vw, 500px" /></noscript></a>
</div>
<div class="posts-content-container">
<div class="entry-header">
<h2 class="entry-title">
<a href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/" rel="bookmark" title="Install Solr as systemd with restart on failure" class="entry-title title single-title">Install Solr as systemd with restart on failure</a>
</h2>
<ul class="entry-meta">
<li class="vcard author author">By <span class="fn"><a href="https://gadelkareem.com/author/admin/" title="Posts by GadElKareem" rel="author">GadElKareem</a></span></li>
<li class="date">on <span class="entry-date date updated">April 28, 2018</span></li>
<li class="category divider"><i class="fa fa-list-alt"></i><a href="https://gadelkareem.com/category/my-blogs/" rel="category tag">Blog</a>, <a href="https://gadelkareem.com/category/solutions/" rel="category tag">Solutions</a></li>
<li class="comments-link divider"><a href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/#respond"><span class="dsq-postid" data-dsqidentifier="37401 https://gadelkareem.com/?p=37401"><span class="leave-reply">0</span></span></a> </li>
<div class="fb-like" data-href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
</ul>
</div>
<div class="entry-summary">
<p>Using <a href="https://github.com/geerlingguy/ansible-role-solr">https://github.com/geerlingguy/ansible-role-solr</a> will install solr with a init.d file which will work well as a service but will not restart on crash. So this ansible script should install solr as a service using systemd:</p>
<p>tasks/service.yml</p> </div>
<div class="entry-footer">
<div class="read-more">
<a href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/" class="btn btn-grey btn-more read-more-link">Learn More</a>
</div>
<div class="share-options">
<div class="zozo-social-share-box"><ul class="zozo-social-share-icons share-box"><li class="facebook"><a target="_blank" rel="nofollow" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F" title="facebook"><i class="fa fa-facebook"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/home?status=Install+Solr+as+systemd+with+restart+on+failure%20-%20https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F" title="twitter"><i class="fa fa-twitter"></i></a></li><li class="linkedin"><a target="_blank" rel="nofollow" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F&amp;title=Install+Solr+as+systemd+with+restart+on+failure"><i class="fa fa-linkedin"></i></a></li><li class="pinterest"><a target="_blank" rel="nofollow" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F&amp;description=Install+Solr+as+systemd+with+restart+on+failure&amp;media=https%3A%2F%2Fgadelkareem.com%2Fwp-content%2Fuploads%2F2018%2F04%2FSolr_Logo_on_white-860x470.png"><i class="fa fa-pinterest"></i></a></li><li class="googleplus"><a target="_blank" rel="nofollow" href="https://plus.google.com/share?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F"><i class="fa fa-google-plus"></i></a></li><li class="tumblr"><a target="_blank" rel="nofollow" href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F&amp;name=Install+Solr+as+systemd+with+restart+on+failure&amp;description=Using+https%3A%2F%2Fgithub.com%2Fgeerlingguy%2Fansible-role-solr+will+install+solr+with+a+init.d+file+which+will+work+well+as+a+service+but+will+not+restart+on+crash.+So+this+ansible+script+should+install+solr+as..."><i class="fa fa-tumblr"></i></a></li><li class="reddit"><a target="_blank" rel="nofollow" href="https://reddit.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F&amp;title=Install+Solr+as+systemd+with+restart+on+failure"><i class="fa fa-reddit"></i></a></li><li class="digg"><a target="_blank" rel="nofollow" href="https://digg.com/submit?url=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F&amp;title=Install+Solr+as+systemd+with+restart+on+failure"><i class="fa fa-digg"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:?subject=Install+Solr+as+systemd+with+restart+on+failure&amp;body=https%3A%2F%2Fgadelkareem.com%2F2018%2F04%2F28%2Finstall-solr-as-systemd-with-restart-on-failure%2F"><i class="fa fa-envelope"></i></a></li></ul></div> </div>
</div>
</div>
</div>
</div>
</div>
<ul class="pagination "><li><span aria-current='page' class='page-numbers current'>1</span></li><li><a class='page-numbers' href='https://gadelkareem.com/page/2/'>2</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/3/'>3</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/4/'>4</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/5/'>5</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/6/'>6</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/7/'>7</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/8/'>8</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/9/'>9</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/10/'>10</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/11/'>11</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/12/'>12</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/13/'>13</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/14/'>14</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/15/'>15</a></li><li><a class='page-numbers' href='https://gadelkareem.com/page/16/'>16</a></li><li><a class="next page-numbers" href="https://gadelkareem.com/page/2/">&raquo;</a></li></ul> </div>
</div>
<div id="sidebar" class="primary-sidebar sidebar pm-sidebar">
<div id="zozo_tabs-widget-3" class="widget zozo_tabs_widget"> <div id="zozo-tabs-widget" class="zozo-tabs-widget">
<div class="zozo-tabs-wrapper tabs">
<ul id="zozo-tabs" class="nav nav-tabs" role="tablist">
<li class="active"><a href="#tab-recent" data-toggle="tab">Recent</a></li>
<li><a href="#tab-popular" data-toggle="tab">Popular</a></li>
<li><a href="#tab-comments" data-toggle="tab"><i class="fa fa-comments-o"></i></a></li>
</ul>
<div class="tab-content zozo-tab-content">
<div id="tab-recent" class="tab-pane fade in active">
 <ul class="widget-posts-list">
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/" title="Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04" class="post-img-overlay">
<img class="img-responsive" src="https://gadelkareem.com/wp-content/uploads/2018/10/1_JAJ910fg52ODIRZjHXASBQ-150x69.png" alt="Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/10/23/deploy-a-docker-registry-with-letsencrypt-certificates-on-ubuntu-18-04/" title="Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04">Deploy a docker registry with letsencrypt certificates on Ubuntu 18.04</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">October 23, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/05/08/ansible-golang-service/" title="Ansible Golang Service" class="post-img-overlay">
<img class="img-responsive" src="https://gadelkareem.com/wp-content/uploads/2018/05/gophercloud-150x97.png" alt="Ansible Golang Service" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/05/08/ansible-golang-service/" title="Ansible Golang Service">Ansible Golang Service</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">May 8, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/" title="Golang send mail without authentication using localhost sendmail or postfix" class="post-img-overlay">
<img class="img-responsive" src="https://gadelkareem.com/wp-content/uploads/2018/05/gopher_mail-137x150.jpeg" alt="Golang send mail without authentication using localhost sendmail or postfix" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/05/03/golang-send-mail-without-authentication-using-localhost-sendmail-or-postfix/" title="Golang send mail without authentication using localhost sendmail or postfix">Golang send mail without authentication using localhost sendmail or postfix</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">May 3, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/" title="Varnish 5.1 always online" class="post-img-overlay">
<img class="img-responsive" src="https://gadelkareem.com/wp-content/uploads/2018/04/varnish-bunny-100x150.png" alt="Varnish 5.1 always online" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/30/varnish-vcl-5-1-always-online/" title="Varnish 5.1 always online">Varnish 5.1 always online</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 30, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/" title="Install Solr as systemd with restart on failure" class="post-img-overlay">
<img class="img-responsive" src="https://gadelkareem.com/wp-content/uploads/2018/04/Solr_Logo_on_white-150x76.png" alt="Install Solr as systemd with restart on failure" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/28/install-solr-as-systemd-with-restart-on-failure/" title="Install Solr as systemd with restart on failure">Install Solr as systemd with restart on failure</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 28, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/13/varnish-with-secure-aws-s3-bucket-as-backend/" title="Varnish with secure AWS S3 bucket as backend" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-70.jpg" class="img-responsive" alt="Varnish with secure AWS S3 bucket as backend" width="70" height="70" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/13/varnish-with-secure-aws-s3-bucket-as-backend/" title="Varnish with secure AWS S3 bucket as backend">Varnish with secure AWS S3 bucket as backend</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 13, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/10/setup-postgresql-rds-using-ansible/" title="Setup postgreSQL RDS using Ansible" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-70.jpg" class="img-responsive" alt="Setup postgreSQL RDS using Ansible" width="70" height="70" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/10/setup-postgresql-rds-using-ansible/" title="Setup postgreSQL RDS using Ansible">Setup postgreSQL RDS using Ansible</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 10, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/10/cachita-is-a-golang-file-and-memory-cache-library/" title="Cachita is a golang file and memory cache library" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-70.jpg" class="img-responsive" alt="Cachita is a golang file and memory cache library" width="70" height="70" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/10/cachita-is-a-golang-file-and-memory-cache-library/" title="Cachita is a golang file and memory cache library">Cachita is a golang file and memory cache library</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 10, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/10/golang-ip-rate-limiter-with-automated-proxy-ranges-and-bot-reverse-dns-check/" title="Golang IP Rate limiter with automated proxy ranges and bot reverse DNS check" class="post-img-overlay">
<img class="img-responsive" src="https://gadelkareem.com/wp-content/uploads/2018/04/speed-limit-10-150x120.jpg" alt="Golang IP Rate limiter with automated proxy ranges and bot reverse DNS check" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/10/golang-ip-rate-limiter-with-automated-proxy-ranges-and-bot-reverse-dns-check/" title="Golang IP Rate limiter with automated proxy ranges and bot reverse DNS check">Golang IP Rate limiter with automated proxy ranges and bot reverse DNS check</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 10, 2018</span>
</div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2018/04/10/ansible-vault-encrypt-decrypt-shell-script/" title="Ansible vault encrypt/decrypt shell script" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-70.jpg" class="img-responsive" alt="Ansible vault encrypt/decrypt shell script" width="70" height="70" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2018/04/10/ansible-vault-encrypt-decrypt-shell-script/" title="Ansible vault encrypt/decrypt shell script">Ansible vault encrypt/decrypt shell script</a></h5>
<div class="widget-entry-meta">
<span class="entry-date date updated">April 10, 2018</span>
</div>
</div>
</li>
</ul>
</div>
<div id="tab-popular" class="tab-pane fade">
<ul class="widget-posts-list">
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2012/02/26/disable-root-login/" title="disable root login" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="disable root login" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2012/02/26/disable-root-login/" title="disable root login">disable root login</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2012/02/26/disable-root-login/#comments"><span class="dsq-postid" data-dsqidentifier="3925 http://gadelkareem.com/?p=3925">1</span></a> </div>
</div>
</li>
<li>
 <div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2012/03/25/limit-requests-per-ip-on-nginx-using-httplimitzonemodule-and-httplimitreqmodule-except-whitelist/" title="Limit requests per IP on Nginx using HttpLimitZoneModule and HttpLimitReqModule except whitelist" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Limit requests per IP on Nginx using HttpLimitZoneModule and HttpLimitReqModule except whitelist" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2012/03/25/limit-requests-per-ip-on-nginx-using-httplimitzonemodule-and-httplimitreqmodule-except-whitelist/" title="Limit requests per IP on Nginx using HttpLimitZoneModule and HttpLimitReqModule except whitelist">Limit requests per IP on Nginx using HttpLimitZoneModule and HttpLimitReqModule except whitelist</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2012/03/25/limit-requests-per-ip-on-nginx-using-httplimitzonemodule-and-httplimitreqmodule-except-whitelist/#comments"><span class="dsq-postid" data-dsqidentifier="4136 http://gadelkareem.com/?p=4136">11</span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2015/01/18/limiting-connections-requests-wordpress-nginx/" title="Limiting connections and requests to WordPress with Nginx" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Limiting connections and requests to WordPress with Nginx" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2015/01/18/limiting-connections-requests-wordpress-nginx/" title="Limiting connections and requests to WordPress with Nginx">Limiting connections and requests to WordPress with Nginx</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2015/01/18/limiting-connections-requests-wordpress-nginx/#comments"><span class="dsq-postid" data-dsqidentifier="37218 http://gadelkareem.com/?p=37218">2</span></a> </div>
</div>
</li>
<li>
 <div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2012/02/27/upgrade-curl-7-24-on-centos-6-2/" title="Install curl 7.24 on CentOS 6.2" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Install curl 7.24 on CentOS 6.2" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2012/02/27/upgrade-curl-7-24-on-centos-6-2/" title="Install curl 7.24 on CentOS 6.2">Install curl 7.24 on CentOS 6.2</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2012/02/27/upgrade-curl-7-24-on-centos-6-2/#respond"><span class="dsq-postid" data-dsqidentifier="3967 http://gadelkareem.com/?p=3967"><span class="leave-reply">0</span></span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2012/02/29/install-php-5-3-10-with-php-fpm-on-centos-6-2-64-bit/" title="Install PHP 5.3.10 with PHP-FPM on CentOS 6.2 64-bit" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Install PHP 5.3.10 with PHP-FPM on CentOS 6.2 64-bit" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2012/02/29/install-php-5-3-10-with-php-fpm-on-centos-6-2-64-bit/" title="Install PHP 5.3.10 with PHP-FPM on CentOS 6.2 64-bit">Install PHP 5.3.10 with PHP-FPM on CentOS 6.2 64-bit</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2012/02/29/install-php-5-3-10-with-php-fpm-on-centos-6-2-64-bit/#comments"><span class="dsq-postid" data-dsqidentifier="3971 http://gadelkareem.com/?p=3971">9</span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2015/01/21/replacing-urls-html-js-mod_proxy-apache-2-2/" title="Replacing URLs in HTML and JS with mod_proxy on apache 2.2" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Replacing URLs in HTML and JS with mod_proxy on apache 2.2" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2015/01/21/replacing-urls-html-js-mod_proxy-apache-2-2/" title="Replacing URLs in HTML and JS with mod_proxy on apache 2.2">Replacing URLs in HTML and JS with mod_proxy on apache 2.2</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2015/01/21/replacing-urls-html-js-mod_proxy-apache-2-2/#respond"><span class="dsq-postid" data-dsqidentifier="37223 http://gadelkareem.com/?p=37223"><span class="leave-reply">0</span></span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2010/06/19/convert-vbulletin-db-encoding-to-utf-8/" title="Convert vBulletin DB encoding to UTF-8" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Convert vBulletin DB encoding to UTF-8" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2010/06/19/convert-vbulletin-db-encoding-to-utf-8/" title="Convert vBulletin DB encoding to UTF-8">Convert vBulletin DB encoding to UTF-8</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2010/06/19/convert-vbulletin-db-encoding-to-utf-8/#respond"><span class="dsq-postid" data-dsqidentifier="58 http://gadelkareem.com/?p=58"><span class="leave-reply">0</span></span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2012/03/12/install-sphinx-2-0-4-on-centos-6-2/" title="Install Sphinx 2.0.4 on CentOS 6.2" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Install Sphinx 2.0.4 on CentOS 6.2" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2012/03/12/install-sphinx-2-0-4-on-centos-6-2/" title="Install Sphinx 2.0.4 on CentOS 6.2">Install Sphinx 2.0.4 on CentOS 6.2</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2012/03/12/install-sphinx-2-0-4-on-centos-6-2/#comments"><span class="dsq-postid" data-dsqidentifier="4062 http://gadelkareem.com/?p=4062">8</span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2014/12/12/custom-validation-messages-for-sails-js/" title="Custom validation messages for sails js" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Custom validation messages for sails js" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2014/12/12/custom-validation-messages-for-sails-js/" title="Custom validation messages for sails js">Custom validation messages for sails js</a></h5>
<div class="widget-entry-meta comments-link">
<a href="https://gadelkareem.com/2014/12/12/custom-validation-messages-for-sails-js/#comments"><span class="dsq-postid" data-dsqidentifier="37141 http://gadelkareem.com/?p=37141">1</span></a> </div>
</div>
</li>
<li>
<div class="widget-entry-image entry-thumbnail">
<a href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/" title="Warming up WordPress cache, HHVM and testing blog pages" class="post-img-overlay">
<img src="https://gadelkareem.com/wp-content/themes/geekapp/images/empty-150.jpg" class="img-responsive" alt="Warming up WordPress cache, HHVM and testing blog pages" />
</a>
</div>
<div class="widget-entry-content">
<h5><a href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/" title="Warming up WordPress cache, HHVM and testing blog pages">Warming up WordPress cache, HHVM and testing blog pages</a></h5>
<div class="widget-entry-meta comments-link">
 <a href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/#comments"><span class="dsq-postid" data-dsqidentifier="37208 http://gadelkareem.com/?p=37208">2</span></a> </div>
</div>
</li>
</ul>
</div>
<div id="tab-comments" class="tab-pane fade">
<ul class="widget-posts-list">
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2008/04/22/configure-sendmail-to-accept-emails-only-if-from-to-or-specific-fields-matches/#comment-206205">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo avatar-default' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo avatar-default' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2008/04/22/configure-sendmail-to-accept-emails-only-if-from-to-or-specific-fields-matches/#comment-206205"><span class="fn">Google :</span> </a></h5>
<p>Google
Here is an excellent Blog You might Obtain In...</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2008/04/22/configure-sendmail-to-accept-emails-only-if-from-to-or-specific-fields-matches/#comment-206204">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo avatar-default' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo avatar-default' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2008/04/22/configure-sendmail-to-accept-emails-only-if-from-to-or-specific-fields-matches/#comment-206204"><span class="fn">Google :</span> </a></h5>
 <p>Google
Wonderful story, reckoned we could combine se...</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/#comment-206200">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/#comment-206200"><span class="fn">Jeff Grundy :</span> </a></h5>
<p>uh oh. Latest WordPress update broke the script! :( Oh well, the searc...</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/#comment-206199">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/ad2afd1e80a292f199eee85ca64b2762?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2015/01/18/warming-wordpress-cache-hhvm-testing-blog-pages/#comment-206199"><span class="fn">Jeff Grundy :</span> </a></h5>
<p>This is awesome. Thanks a lot. Searched everywhere for something that ...</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2016/06/29/using-jenkins-json-api-display-alert-build-fails/#comment-206196">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/b70e2b9996ba3b1365264f508525ac1a?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/b70e2b9996ba3b1365264f508525ac1a?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/b70e2b9996ba3b1365264f508525ac1a?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/b70e2b9996ba3b1365264f508525ac1a?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2016/06/29/using-jenkins-json-api-display-alert-build-fails/#comment-206196"><span class="fn">Ayshwarya Syndicate Souharda C :</span> </a></h5>
<p>Nice on thanks for the code...</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2016/06/29/using-jenkins-json-api-display-alert-build-fails/#comment-206195">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/6062099d759ab25a8d8ceaa358d98e97?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6062099d759ab25a8d8ceaa358d98e97?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/6062099d759ab25a8d8ceaa358d98e97?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6062099d759ab25a8d8ceaa358d98e97?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2016/06/29/using-jenkins-json-api-display-alert-build-fails/#comment-206195"><span class="fn">Clipping Masking :</span> </a></h5>
<p>Great site!...</p>
</div>
</li>
 <li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2014/12/12/custom-validation-messages-for-sails-js/#comment-206191">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/5eff007d36429897b1541043c3e2e7b1?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/5eff007d36429897b1541043c3e2e7b1?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/5eff007d36429897b1541043c3e2e7b1?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/5eff007d36429897b1541043c3e2e7b1?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2014/12/12/custom-validation-messages-for-sails-js/#comment-206191"><span class="fn">Theophilus Omoregbee :</span> </a></h5>
<p>This past saved the future lol, thanks mate...</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2016/06/29/using-jenkins-json-api-display-alert-build-fails/#comment-206190">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2016/06/29/using-jenkins-json-api-display-alert-build-fails/#comment-206190"><span class="fn">John Booker :</span> </a></h5>
<p>Thanks for the coding ....</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2016/04/06/fix-w3-total-cache-w3_plugin_totalcacheob_callback-expected-reference/#comment-206189">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2016/04/06/fix-w3-total-cache-w3_plugin_totalcacheob_callback-expected-reference/#comment-206189"><span class="fn">John Booker :</span> </a></h5>
<p>Great sharing , i need this for my business....</p>
</div>
</li>
<li>
<div class="widget-entry-image">
<a class="author" href="https://gadelkareem.com/2016/04/07/keywords-highlighter/#comment-206188">
<img alt='' src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /><noscript><img alt='' src="https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=70&#038;d=mm&#038;r=g" srcset='https://secure.gravatar.com/avatar/6cde0c70e3d8216adfd6475213b0a858?s=140&#038;d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></noscript> </a>
</div>
<div class="widget-entry-content">
<h5><a class="author" href="https://gadelkareem.com/2016/04/07/keywords-highlighter/#comment-206188"><span class="fn">John Booker :</span> </a></h5>
<p>Thanks for this highlighter,please tell if this will work for the quor...</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div><div id="tag_cloud-4" class="widget widget_tag_cloud"><h3 class="widget-title">Tags</h3><div class="tagcloud"><a href="https://gadelkareem.com/tag/bash/" class="tag-cloud-link tag-link-79 tag-link-position-1" style="font-size: 12.064516129032pt;" aria-label="bash (11 items)">bash</a>
<a href="https://gadelkareem.com/tag/cache/" class="tag-cloud-link tag-link-63 tag-link-position-2" style="font-size: 10.258064516129pt;" aria-label="cache (9 items)">cache</a>
<a href="https://gadelkareem.com/tag/centos/" class="tag-cloud-link tag-link-77 tag-link-position-3" style="font-size: 16.129032258065pt;" aria-label="CentOS (17 items)">CentOS</a>
<a href="https://gadelkareem.com/tag/change/" class="tag-cloud-link tag-link-228 tag-link-position-4" style="font-size: 8pt;" aria-label="change (7 items)">change</a>
<a href="https://gadelkareem.com/tag/code/" class="tag-cloud-link tag-link-12 tag-link-position-5" style="font-size: 11.161290322581pt;" aria-label="code (10 items)">code</a>
<a href="https://gadelkareem.com/tag/com/" class="tag-cloud-link tag-link-659 tag-link-position-6" style="font-size: 14.322580645161pt;" aria-label="com (14 items)">com</a>
<a href="https://gadelkareem.com/tag/create/" class="tag-cloud-link tag-link-52 tag-link-position-7" style="font-size: 10.258064516129pt;" aria-label="Create (9 items)">Create</a>
<a href="https://gadelkareem.com/tag/download/" class="tag-cloud-link tag-link-752 tag-link-position-8" style="font-size: 11.161290322581pt;" aria-label="Download (10 items)">Download</a>
<a href="https://gadelkareem.com/tag/error/" class="tag-cloud-link tag-link-546 tag-link-position-9" style="font-size: 12.064516129032pt;" aria-label="error (11 items)">error</a>
<a href="https://gadelkareem.com/tag/example/" class="tag-cloud-link tag-link-854 tag-link-position-10" style="font-size: 12.064516129032pt;" aria-label="Example (11 items)">Example</a>
<a href="https://gadelkareem.com/tag/file/" class="tag-cloud-link tag-link-516 tag-link-position-11" style="font-size: 19.516129032258pt;" aria-label="file (25 items)">file</a>
<a href="https://gadelkareem.com/tag/files/" class="tag-cloud-link tag-link-530 tag-link-position-12" style="font-size: 9.1290322580645pt;" aria-label="files (8 items)">files</a>
<a href="https://gadelkareem.com/tag/for/" class="tag-cloud-link tag-link-842 tag-link-position-13" style="font-size: 22pt;" aria-label="for (32 items)">for</a>
<a href="https://gadelkareem.com/tag/function/" class="tag-cloud-link tag-link-22 tag-link-position-14" style="font-size: 12.741935483871pt;" aria-label="function (12 items)">function</a>
<a href="https://gadelkareem.com/tag/gadelkareem/" class="tag-cloud-link tag-link-685 tag-link-position-15" style="font-size: 9.1290322580645pt;" aria-label="GadElKareem (8 items)">GadElKareem</a>
<a href="https://gadelkareem.com/tag/get/" class="tag-cloud-link tag-link-243 tag-link-position-16" style="font-size: 16.129032258065pt;" aria-label="get (17 items)">get</a>
<a href="https://gadelkareem.com/tag/google/" class="tag-cloud-link tag-link-54 tag-link-position-17" style="font-size: 11.161290322581pt;" aria-label="Google (10 items)">Google</a>
<a href="https://gadelkareem.com/tag/here/" class="tag-cloud-link tag-link-284 tag-link-position-18" style="font-size: 13.645161290323pt;" aria-label="here (13 items)">here</a>
<a href="https://gadelkareem.com/tag/html/" class="tag-cloud-link tag-link-70 tag-link-position-19" style="font-size: 10.258064516129pt;" aria-label="HTML (9 items)">HTML</a>
<a href="https://gadelkareem.com/tag/install/" class="tag-cloud-link tag-link-74 tag-link-position-20" style="font-size: 10.258064516129pt;" aria-label="install (9 items)">install</a>
<a href="https://gadelkareem.com/tag/ip/" class="tag-cloud-link tag-link-551 tag-link-position-21" style="font-size: 8pt;" aria-label="ip (7 items)">ip</a>
<a href="https://gadelkareem.com/tag/javascript/" class="tag-cloud-link tag-link-61 tag-link-position-22" style="font-size: 8pt;" aria-label="javascript (7 items)">javascript</a>
<a href="https://gadelkareem.com/tag/linux/" class="tag-cloud-link tag-link-952 tag-link-position-23" style="font-size: 16.129032258065pt;" aria-label="Linux (17 items)">Linux</a>
<a href="https://gadelkareem.com/tag/memory/" class="tag-cloud-link tag-link-511 tag-link-position-24" style="font-size: 8pt;" aria-label="memory (7 items)">memory</a>
<a href="https://gadelkareem.com/tag/mysql/" class="tag-cloud-link tag-link-73 tag-link-position-25" style="font-size: 12.064516129032pt;" aria-label="MYSQL (11 items)">MYSQL</a>
<a href="https://gadelkareem.com/tag/new/" class="tag-cloud-link tag-link-231 tag-link-position-26" style="font-size: 16.129032258065pt;" aria-label="new (17 items)">new</a>
<a href="https://gadelkareem.com/tag/nginx/" class="tag-cloud-link tag-link-387 tag-link-position-27" style="font-size: 9.1290322580645pt;" aria-label="nginx (8 items)">nginx</a>
<a href="https://gadelkareem.com/tag/page/" class="tag-cloud-link tag-link-14 tag-link-position-28" style="font-size: 9.1290322580645pt;" aria-label="page (8 items)">page</a>
<a href="https://gadelkareem.com/tag/password/" class="tag-cloud-link tag-link-712 tag-link-position-29" style="font-size: 8pt;" aria-label="password (7 items)">password</a>
<a href="https://gadelkareem.com/tag/php/" class="tag-cloud-link tag-link-7 tag-link-position-30" style="font-size: 17.483870967742pt;" aria-label="PHP (20 items)">PHP</a>
<a href="https://gadelkareem.com/tag/port/" class="tag-cloud-link tag-link-708 tag-link-position-31" style="font-size: 9.1290322580645pt;" aria-label="port (8 items)">port</a>
<a href="https://gadelkareem.com/tag/post/" class="tag-cloud-link tag-link-677 tag-link-position-32" style="font-size: 8pt;" aria-label="post (7 items)">post</a>
<a href="https://gadelkareem.com/tag/request/" class="tag-cloud-link tag-link-731 tag-link-position-33" style="font-size: 10.258064516129pt;" aria-label="request (9 items)">request</a>
<a href="https://gadelkareem.com/tag/root/" class="tag-cloud-link tag-link-523 tag-link-position-34" style="font-size: 9.1290322580645pt;" aria-label="root (8 items)">root</a>
<a href="https://gadelkareem.com/tag/script/" class="tag-cloud-link tag-link-29 tag-link-position-35" style="font-size: 10.258064516129pt;" aria-label="script (9 items)">script</a>
<a href="https://gadelkareem.com/tag/search/" class="tag-cloud-link tag-link-23 tag-link-position-36" style="font-size: 11.161290322581pt;" aria-label="search (10 items)">search</a>
<a href="https://gadelkareem.com/tag/security/" class="tag-cloud-link tag-link-389 tag-link-position-37" style="font-size: 9.1290322580645pt;" aria-label="Security (8 items)">Security</a>
<a href="https://gadelkareem.com/tag/server/" class="tag-cloud-link tag-link-45 tag-link-position-38" style="font-size: 14.322580645161pt;" aria-label="server (14 items)">server</a>
<a href="https://gadelkareem.com/tag/start/" class="tag-cloud-link tag-link-24 tag-link-position-39" style="font-size: 9.1290322580645pt;" aria-label="start (8 items)">start</a>
<a href="https://gadelkareem.com/tag/time/" class="tag-cloud-link tag-link-706 tag-link-position-40" style="font-size: 8pt;" aria-label="Time (7 items)">Time</a>
<a href="https://gadelkareem.com/tag/user/" class="tag-cloud-link tag-link-846 tag-link-position-41" style="font-size: 12.741935483871pt;" aria-label="user (12 items)">user</a>
<a href="https://gadelkareem.com/tag/using/" class="tag-cloud-link tag-link-225 tag-link-position-42" style="font-size: 16.58064516129pt;" aria-label="using (18 items)">using</a>
<a href="https://gadelkareem.com/tag/var/" class="tag-cloud-link tag-link-711 tag-link-position-43" style="font-size: 13.645161290323pt;" aria-label="var (13 items)">var</a>
<a href="https://gadelkareem.com/tag/wordpress/" class="tag-cloud-link tag-link-13 tag-link-position-44" style="font-size: 8pt;" aria-label="wordpress (7 items)">wordpress</a>
<a href="https://gadelkareem.com/tag/www/" class="tag-cloud-link tag-link-829 tag-link-position-45" style="font-size: 10.258064516129pt;" aria-label="www (9 items)">www</a></div>
</div><div id="zozo_flickr_widget-widget-2" class="widget zozo_flickr_widget"><h3 class="widget-title">Photos</h3>
<ul class='zozo_flickr_widget list-unstyled'>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20880857628' target='_blank' title="IMG_7170">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm6.static.flickr.com/5727/20880857628_515f0d421c_s.jpg' alt='IMG_7170' />
<noscript><img src='https://farm6.static.flickr.com/5727/20880857628_515f0d421c_s.jpg' /></noscript>
 </a>
</li>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20446153594' target='_blank' title="IMG_7050">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm1.static.flickr.com/682/20446153594_2e04f49e63_s.jpg' alt='IMG_7050' />
<noscript><img src='https://farm1.static.flickr.com/682/20446153594_2e04f49e63_s.jpg' /></noscript>
</a>
</li>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20447716473' target='_blank' title="IMG_6932">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm6.static.flickr.com/5742/20447716473_162374075a_s.jpg' alt='IMG_6932' />
<noscript><img src='https://farm6.static.flickr.com/5742/20447716473_162374075a_s.jpg' /></noscript>
</a>
</li>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/21068786705' target='_blank' title="IMG_6705">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm1.static.flickr.com/669/21068786705_263213f17a_s.jpg' alt='IMG_6705' />
<noscript><img src='https://farm1.static.flickr.com/669/21068786705_263213f17a_s.jpg' /></noscript>
</a>
</li>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20880703590' target='_blank' title="IMG_6643">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm6.static.flickr.com/5693/20880703590_1b16972c12_s.jpg' alt='IMG_6643' />
<noscript><img src='https://farm6.static.flickr.com/5693/20880703590_1b16972c12_s.jpg' /></noscript>
</a>
</li>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20447743203' target='_blank' title="IMG_6474">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm6.static.flickr.com/5653/20447743203_7b2cd555ab_s.jpg' alt='IMG_6474' />
<noscript><img src='https://farm6.static.flickr.com/5653/20447743203_7b2cd555ab_s.jpg' /></noscript>
</a>
</li>
<li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20882017399' target='_blank' title="IMG_6472">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm1.static.flickr.com/738/20882017399_3ce45ac70d_s.jpg' alt='IMG_6472' />
<noscript><img src='https://farm1.static.flickr.com/738/20882017399_3ce45ac70d_s.jpg' /></noscript>
</a>
</li>
 <li class='flickr_photo_item'>
<a href='https://www.flickr.com/photos/89300434@N05/20880896998' target='_blank' title="IMG_6435">
<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='https://farm6.static.flickr.com/5709/20880896998_2c1a9eb7c5_s.jpg' alt='IMG_6435' />
<noscript><img src='https://farm6.static.flickr.com/5709/20880896998_2c1a9eb7c5_s.jpg' /></noscript>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>

<script type="text/javascript">
	function $(id) {return !id ? null : document.getElementById(id);}

	loadPrettifyCss = function () {
		if(!$('prettify_css')) {
			css = document.createElement('link');
			css.id = 'prettify_css';
			css.type = 'text/css';
			css.rel = 'stylesheet';
			css.href = 'https://gadelkareem.com/wp-content/plugins/wp-code-prettify/css/sons-of-obsidian.css';
			var headNode = document.getElementsByTagName("head")[0];
			headNode.appendChild(css);
		} else {
			$('prettify_css').href = 'https://gadelkareem.com/wp-content/plugins/wp-code-prettify/css/sons-of-obsidian.css';
		}

		if(!$('prettify_custom')) {
			css = document.createElement('style');
			css.id = 'prettify_custom';
			css.type = 'text/css';
			css.rel = 'stylesheet';
			css.innerHTML = 'pre.prettyprint { margin: 5px; padding: 10px;background: #171717; }';
			var headNode = document.getElementsByTagName("head")[0];
			headNode.appendChild(css);
		} else {
			$('prettify_css').innerHTML = 'pre.prettyprint { margin: 5px; padding: 10px;background: #171717; }';
		}
	}
	</script>
<script type="text/javascript">
		loadPrettifyCss();
	</script>
<script type="text/javascript" src="https://gadelkareem.com/wp-content/plugins/wp-code-prettify/js/prettify.js"></script>
<script type="text/javascript">
		function wpCodePrettifyOnLoad(func){
			var wpCodePrettifyOldOnLoad = window.onload;
			if (typeof window.onload != 'function') {
				window.onload = func
			} else {
				window.onload = function () {
					wpCodePrettifyOldOnLoad();
					func()
				}
			}
		}

		wpCodePrettifyOnLoad(function(){prettyPrint();});
	</script>

</div>
<div id="footer" class="footer-section">
<div id="footer-copyright-container" class="footer-copyright-section">
<div class="container">
<div class="zozo-row row">
<div id="copyright-text" class="copyright-info col-sm-6">
<p>&copy; 2019 GadElKareem</p>
</div>
<div id="social-icons" class="footer-social col-sm-6">
<ul class="zozo-social-icons soc-icon-circle"><li class="github"><a target="_blank" rel="nofollow" href="https://github.com/gadelkareem"><i class="fa fa-github"></i></a></li><li class="twitter"><a target="_blank" rel="nofollow" href="https://twitter.com/gadelkareem"><i class="fa fa-twitter"></i></a></li><li class="rss"><a target="_blank" rel="nofollow" href="https://gadelkareem.com/feed/"><i class="fa fa-rss"></i></a></li><li class="email"><a target="_blank" rel="nofollow" href="mailto:gadelkareem@gmail.com"><i class="fa fa-envelope"></i></a></li></ul> </div>
</div>
</div>
</div>
</div>
</div>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({
          google_ad_client: "ca-pub-4033170481546008",
          enable_page_level_ads: true
     });
</script><div id="jumpToTop"><i class="fa fa-chevron-up" title="Back to top"></i></div>
<script type='text/javascript'>
/* <![CDATA[ */
var countVars = {"disqusShortname":"gadelkareem"};
/* ]]> */
</script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/plugins/disqus-comment-system/public/js/comment_count.js?ver=3.0.16'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/plugins/unveil-lazy-load/js/jquery.optimum-lazy-load.min.js?ver=0.3.1'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-includes/js/wp-embed.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/modernizr.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.isotope.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.flexslider.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.infinitescroll.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.scrollTo.min.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.easing.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.prettyPhoto.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.sticky.js?ver=4.9.9'></script>
<script type='text/javascript' src='https://gadelkareem.com/wp-content/themes/geekapp/js/jquery.appear.js?ver=4.9.9'></script>
<div id="fb-root"></div>
<script>(function(d, s, id) {
		var js, fjs = d.getElementsByTagName(s)[0];
		if (d.getElementById(id)) return;
		js = d.createElement(s); js.id = id;
		js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0";
		fjs.parentNode.insertBefore(js, fjs);
	}(document, 'script', 'facebook-jssdk'));</script>
</body>
</html>