{"id":805,"date":"2025-05-05T07:44:30","date_gmt":"2025-05-05T12:44:30","guid":{"rendered":"https:\/\/wp.jkhayer.us\/?p=805"},"modified":"2025-05-15T11:41:23","modified_gmt":"2025-05-15T16:41:23","slug":"nginx-proxy-manager","status":"publish","type":"post","link":"https:\/\/wp.jkhayer.us\/?p=805","title":{"rendered":"Nginx Proxy Manager"},"content":{"rendered":"\n<p>In this Nginx Proxy Manager How-To, I&#8217;ll show you how to install and configure Nginx Proxy Manager in Docker.<\/p>\n\n\n\n<p>We will use the free and open-source software Nginx Proxy Manager.<\/p>\n\n\n\n<p>Project Homepage: <a href=\"https:\/\/nginxproxymanager.com\/\">https:\/\/nginxproxymanager.com\/<\/a> Documentation: <a href=\"https:\/\/nginxproxymanager.com\/guide\/\">https:\/\/nginxproxymanager.com\/guide\/<\/a><\/p>\n\n\n\n<p>Video: <a href=\"https:\/\/youtu.be\/P3imFC7GSr0\">https:\/\/youtu.be\/P3imFC7GSr0<\/a><\/p>\n\n\n\n<p>Prerequisites<br>Linux Server running Ubuntu 20.04 LTS or newer<br>Domain that points to the public IP of your Linux Server<br>You can still install Docker on a Linux Server that is not running Ubuntu, however, this may require different commands!<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install Docker, and Docker-Compose<br>You can still install Docker on a Linux Server that is not running Ubuntu, however, this may require different commands!<\/li>\n<\/ol>\n\n\n\n<p>1.1. Install Docker<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\n\nsudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common\n\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -\n\nsudo add-apt-repository \"deb &#91;arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\"\n\nsudo apt update\n\nsudo apt-get install docker-ce docker-ce-cli containerd.io\n<\/code><\/pre>\n\n\n\n<p>1.2. Check if Docker is installed correctly<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>sudo docker run hello-world<\/code><\/code><\/pre>\n\n\n\n<p>1.3. Install Docker-Compose<\/p>\n\n\n\n<p>Download the latest version (in this case it is 1.25.5, this may change whenever you read this tutorial!)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.25.5\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose\n\nsudo chmod +x \/usr\/local\/bin\/docker-compose\n<\/code><\/pre>\n\n\n\n<p>1.4. Check if Docker-Compose is installed correctly<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker-compose --version<\/code><\/pre>\n\n\n\n<p>1.5. (optional) Add your linux user to the docker group<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo usermod -aG docker $USER<\/code><\/pre>\n\n\n\n<p>2. Set up Nginx Proxy Manager<br>2.1. Create a new file docker-compose.ymlfile, please refer to the nginxproxymanager documentation: <a href=\"https:\/\/nginxproxymanager.com\/guide\/\">https:\/\/nginxproxymanager.com\/guide\/<\/a>.<br>&#8230;<\/p>\n\n\n\n<p>Example Docker-Compose File:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3'\nservices:\n  app:\n    image: 'jc21\/nginx-proxy-manager:latest'\n    ports:\n      - '80:80'\n      - '81:81'\n      - '443:443'\n    environment:\n      DB_MYSQL_HOST: \"db\"\n      DB_MYSQL_PORT: 3306\n      DB_MYSQL_USER: \"npm\"\n      DB_MYSQL_PASSWORD: \"npm\"\n      DB_MYSQL_NAME: \"npm\"\n    volumes:\n      - .\/data:\/data\n      - .\/letsencrypt:\/etc\/letsencrypt\n  db:\n    image: 'jc21\/mariadb-aria:latest'\n    environment:\n      MYSQL_ROOT_PASSWORD: 'npm'\n      MYSQL_DATABASE: 'npm'\n      MYSQL_USER: 'npm'\n      MYSQL_PASSWORD: 'npm'\n    volumes:\n      - .\/mysql:\/var\/lib\/mysql\n<\/code><\/pre>\n\n\n\n<p>2.2. Start the Nginx Proxy Manager<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>docker-compose up -d<\/code><\/code><\/pre>\n\n\n\n<p>3. Login to the web UI of NGINX proxy manager<br>Now we can log in to the web UI. Simply use your browser to connect to your server by using the IP address or an FQDN and connect on port 81. <\/p>\n\n\n\n<p>Next, you should change your username and password, and that\u2019s it!<\/p>\n\n\n\n<p>Default Administrator User<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Email: admin@example.com<br>Password: changeme<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In this Nginx Proxy Manager How-To, I&#8217;ll show you how to install and configure Nginx Proxy Manager in Docker. We<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-805","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=\/wp\/v2\/posts\/805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=805"}],"version-history":[{"count":9,"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=\/wp\/v2\/posts\/805\/revisions"}],"predecessor-version":[{"id":854,"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=\/wp\/v2\/posts\/805\/revisions\/854"}],"wp:attachment":[{"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jkhayer.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}