{"id":2520,"date":"2019-08-13T12:47:36","date_gmt":"2019-08-13T11:47:36","guid":{"rendered":"https:\/\/ridgesolutions.ie\/?p=2520"},"modified":"2019-08-13T13:08:27","modified_gmt":"2019-08-13T12:08:27","slug":"launching-flask-on-port-80-without-using-sudo","status":"publish","type":"post","link":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/","title":{"rendered":"Launching Flask on Port 80 without using sudo"},"content":{"rendered":"<p><a href=\"https:\/\/palletsprojects.com\/p\/flask\/\">Flask<\/a> is a great python based HTTP server that&#8217;s really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices.\u00a0 By default flask will attach itself to port 5000.\u00a0 To get my flask script to attach to port 80 I use:<\/p>\n<pre>if __name__ == '__main__':\r\n    app.run(host='0.0.0.0', port=80, debug=True)\r\n<\/pre>\n<p>This works fine, the only problem is that in order to successfully attach to port 80 the script must be run as root, so instead of just running:<\/p>\n<pre>\r\n.\/my_ui.py\r\n\r\n<\/pre>\n<p>I have to run:<\/p>\n<pre>\r\nsudo .\/my_ui.py\r\n\r\n<\/pre>\n<p>Which isn&#8217;t great.<\/p>\n<p>To get around this problem I used the tool: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Authbind\">authbind<\/a><\/p>\n<p>To Install:<\/p>\n<pre>sudo apt-get install authbind\r\n<\/pre>\n<p>And configure it for access to port 80:<\/p>\n<pre>\r\nsudo touch \/etc\/authbind\/byport\/80\r\n\r\nsudo chmod 777 \/etc\/authbind\/byport\/807\r\n\r\n<\/pre>\n<p>(Not sure if the very loose 777 permission is required, must experiment)<\/p>\n<p>Now I just have to launch my flask UI script using authbind and it will take care of the script&#8217;s permissions to bind to port 80 and I can connect from a browser:<\/p>\n<pre class=\"\">\r\nauthbind -deep python3 .\/ui.py\r\n<\/pre>\n<p>More info on authbind <a href=\"http:\/\/manpages.ubuntu.com\/manpages\/disco\/en\/man1\/authbind.1.html\">here<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flask is a great python based HTTP server that&#8217;s really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices.\u00a0 By default flask will attach itself to port 5000.\u00a0 To get my flask script to attach to port 80 I use: if __name__ == &#8216;__main__&#8217;: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[301],"tags":[],"class_list":["post-2520","post","type-post","status-publish","format-standard","hentry","category-by-kevin-godden"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Flask is a great python based HTTP server that&#039;s really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == &#039;__main__&#039;:\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Kevin Godden\"\/>\n\t<meta name=\"google-site-verification\" content=\"Kyj52YLp6GOPA44PVBffo9fjW8rgWHYYRF0ZYjfy6ss\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Systems and Embedded Software Engineering, Ireland. | Some thoughts of a busy Computer Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Launching Flask on Port 80 without using sudo\" \/>\n\t\t<meta property=\"og:description\" content=\"Flask is a great python based HTTP server that&#039;s really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == &#039;__main__&#039;:\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-08-13T11:47:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-08-13T12:08:27+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Launching Flask on Port 80 without using sudo\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Flask is a great python based HTTP server that&#039;s really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == &#039;__main__&#039;:\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#article\",\"name\":\"Launching Flask on Port 80 without using sudo\",\"headline\":\"Launching Flask on Port 80 without using sudo\",\"author\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/ridge_logo1.jpg\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#articleImage\",\"width\":400,\"height\":81},\"datePublished\":\"2019-08-13T12:47:36+00:00\",\"dateModified\":\"2019-08-13T13:08:27+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#webpage\"},\"articleSection\":\"By Ridge Solutions\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ridgesolutions.ie\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/by-kevin-godden\\\/#listItem\",\"name\":\"By Ridge Solutions\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/by-kevin-godden\\\/#listItem\",\"position\":2,\"name\":\"By Ridge Solutions\",\"item\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/by-kevin-godden\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#listItem\",\"name\":\"Launching Flask on Port 80 without using sudo\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#listItem\",\"position\":3,\"name\":\"Launching Flask on Port 80 without using sudo\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/by-kevin-godden\\\/#listItem\",\"name\":\"By Ridge Solutions\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#organization\",\"name\":\"Ridge Solutions, Software Development and Software Engineering, Ireland.\",\"description\":\"Some thoughts of a busy Computer Engineer\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/ridge_logo1.jpg\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#organizationLogo\",\"width\":400,\"height\":81},\"image\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/\",\"name\":\"Kevin Godden\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d2833f41e59a25cf2a9741a05ec383bfdd278762a5e0798a90940e7ab0a107a2?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kevin Godden\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#webpage\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/\",\"name\":\"Launching Flask on Port 80 without using sudo\",\"description\":\"Flask is a great python based HTTP server that's really small and easy\\\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == '__main__':\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2019\\\/08\\\/13\\\/launching-flask-on-port-80-without-using-sudo\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\"},\"datePublished\":\"2019-08-13T12:47:36+00:00\",\"dateModified\":\"2019-08-13T13:08:27+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#website\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/\",\"name\":\"Ridge Solutions, Software Development and Software Engineering, Ireland.\",\"description\":\"Some thoughts of a busy Computer Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Launching Flask on Port 80 without using sudo","description":"Flask is a great python based HTTP server that's really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == '__main__':","canonical_url":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"Kyj52YLp6GOPA44PVBffo9fjW8rgWHYYRF0ZYjfy6ss","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#article","name":"Launching Flask on Port 80 without using sudo","headline":"Launching Flask on Port 80 without using sudo","author":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author"},"publisher":{"@id":"https:\/\/www.ridgesolutions.ie\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.ridgesolutions.ie\/wp-content\/uploads\/2013\/09\/ridge_logo1.jpg","@id":"https:\/\/www.ridgesolutions.ie\/#articleImage","width":400,"height":81},"datePublished":"2019-08-13T12:47:36+00:00","dateModified":"2019-08-13T13:08:27+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#webpage"},"isPartOf":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#webpage"},"articleSection":"By Ridge Solutions"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie#listItem","position":1,"name":"Home","item":"https:\/\/www.ridgesolutions.ie","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/by-kevin-godden\/#listItem","name":"By Ridge Solutions"}},{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/by-kevin-godden\/#listItem","position":2,"name":"By Ridge Solutions","item":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/by-kevin-godden\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#listItem","name":"Launching Flask on Port 80 without using sudo"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#listItem","position":3,"name":"Launching Flask on Port 80 without using sudo","previousItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/by-kevin-godden\/#listItem","name":"By Ridge Solutions"}}]},{"@type":"Organization","@id":"https:\/\/www.ridgesolutions.ie\/#organization","name":"Ridge Solutions, Software Development and Software Engineering, Ireland.","description":"Some thoughts of a busy Computer Engineer","url":"https:\/\/www.ridgesolutions.ie\/","logo":{"@type":"ImageObject","url":"https:\/\/www.ridgesolutions.ie\/wp-content\/uploads\/2013\/09\/ridge_logo1.jpg","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#organizationLogo","width":400,"height":81},"image":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author","url":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/","name":"Kevin Godden","image":{"@type":"ImageObject","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d2833f41e59a25cf2a9741a05ec383bfdd278762a5e0798a90940e7ab0a107a2?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kevin Godden"}},{"@type":"WebPage","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#webpage","url":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/","name":"Launching Flask on Port 80 without using sudo","description":"Flask is a great python based HTTP server that's really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == '__main__':","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.ridgesolutions.ie\/#website"},"breadcrumb":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/#breadcrumblist"},"author":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author"},"creator":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author"},"datePublished":"2019-08-13T12:47:36+00:00","dateModified":"2019-08-13T13:08:27+00:00"},{"@type":"WebSite","@id":"https:\/\/www.ridgesolutions.ie\/#website","url":"https:\/\/www.ridgesolutions.ie\/","name":"Ridge Solutions, Software Development and Software Engineering, Ireland.","description":"Some thoughts of a busy Computer Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.ridgesolutions.ie\/#organization"}}]},"og:locale":"en_US","og:site_name":"Systems and Embedded Software Engineering, Ireland. | Some thoughts of a busy Computer Engineer","og:type":"article","og:title":"Launching Flask on Port 80 without using sudo","og:description":"Flask is a great python based HTTP server that's really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == '__main__':","og:url":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/","article:published_time":"2019-08-13T11:47:36+00:00","article:modified_time":"2019-08-13T12:08:27+00:00","twitter:card":"summary","twitter:title":"Launching Flask on Port 80 without using sudo","twitter:description":"Flask is a great python based HTTP server that's really small and easy\/fast to setup, it is really useful for deploying small Web based User Interfaces for IoT type devices. By default flask will attach itself to port 5000. To get my flask script to attach to port 80 I use: if __name__ == '__main__':"},"aioseo_meta_data":{"post_id":"2520","title":null,"description":null,"keywords":[{"label":"flask","value":"flask"},{"label":"sudo","value":"sudo"},{"label":"authbind","value":"authbind"},{"label":"IoT","value":"IoT"},{"label":"UI","value":"UI"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-09-13 11:19:05","updated":"2025-07-15 23:24:48","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ridgesolutions.ie\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ridgesolutions.ie\/index.php\/category\/by-kevin-godden\/\" title=\"By Ridge Solutions\">By Ridge Solutions<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tLaunching Flask on Port 80 without using sudo\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.ridgesolutions.ie"},{"label":"By Ridge Solutions","link":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/by-kevin-godden\/"},{"label":"Launching Flask on Port 80 without using sudo","link":"https:\/\/www.ridgesolutions.ie\/index.php\/2019\/08\/13\/launching-flask-on-port-80-without-using-sudo\/"}],"_links":{"self":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/posts\/2520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/comments?post=2520"}],"version-history":[{"count":0,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/posts\/2520\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/media?parent=2520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/categories?post=2520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/tags?post=2520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}