Adolfo DelorenzoApril 9, 2021< 1 min read
This guest blog post from Technorabilia takes a look at Portainer as an alternative to Synology Docker GUI. Using Portainer offers access to all Docker features – not just the limited feature set provided by the Synology Docker GUI. Portaineris a lightweight management application that allows you to easily manage your Docker environment through a web interface. If you haven’t installed Docker, please have a look atUsing Docker on Synology NAS. Don’t forget to have a look atPortainer App Templates for LinuxServer.io Docker containersand install 140+ applications at the push of a button. Although there is a Synology Docker GUI available, with the Portainer setup described here, you have an alternative to manage Docker containers on a Synology NAS. But most importantly. Sometimes there is a need for settings, which can’t be done through the Synology Docker GUI. Using Portainer offers access to all Docker features – not just the limited feature set provided by the Synology Docker GUI. Read moreWhat is Portainer
Why use Portainer?
COMMENTS
Related articles
< 1 min read
Start Reading
"; var fillPost = function (element, post) { var link = element.querySelector("a[class*='-post-item']"); var title = element.querySelector("[class*='-item__title']"); var name = element.querySelector("[class*='-item__name']"); var date = element.querySelector("[class*='-item__date']"); var img = element.querySelector("[class*='-item__img']"); var desc = element.querySelector("[class*='-item__desc']"); var summary = element.querySelector("[class*='-item__summary']"); var minRead = element.querySelector("[class*='-item__n-min-read']"); if(link) link.setAttribute("href", post.absoluteUrl); if(title) title.innerText = post.name; if(name) name.innerText = post.blogAuthor.fullName; if(date) date.innerText = formatBlogDate("en",post.publishDateLocalized); if(img) img.style.backgroundImage = pwr.style.getRetinaImageUrl(post.featuredImage, 500); if(minRead) minRead.innerText = pwr.hs.format("%s min read", pwr.string.getReadTimeMinutes(pwr.string.removeHtmlTags(post.postBody))) ; var summaryContent = post.postSummary ? post.postSummary: ""; summaryContent = pwr.string.removeHtmlTags(summaryContent); summaryContent = pwr.string.removeLineBreaks(summaryContent); summaryContent = summaryContent.trim(); summaryContent=pwr.hs.truncate(summaryContent, 128); if(desc) desc.innerText = summaryContent; if(summary) summary.innerText = summaryContent; }; var buildPosts = function(blog_posts) { var result = ""; blog_post.forEach( post => { var postElement = document.createElement("div"); postElement.innerHTML = template; fillPost(postElement, post); result+= postElement.innerHTML; }); return result; }; var refreshBlog = function() { setTimeout(() => { pwr.blog.adjustPostItemHeight(); pwr.effect.threeD.refreshAll(); }, 50); }; if( document.readyState == 'complete') { refreshBlog(); return buildPosts(blog_post); } else { // Wait till dependencies are loaded var postTargetID = "blog-post-preview-target"; window.addEventListener('load', () => { // fill target element with blog content var postTarget = document.getElementById(postTargetID); if(postTarget) { postTarget.outerHTML = buildPosts(blog_post); } refreshBlog(); }); // return a placeholder return "
"; } }