User Tools

Site Tools


pi-hole:setup_pi-hole_running_in_a_container_on_qnap_container_station

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pi-hole:setup_pi-hole_running_in_a_container_on_qnap_container_station [2020/07/24 10:33] 185.104.185.238pi-hole:setup_pi-hole_running_in_a_container_on_qnap_container_station [2021/04/21 22:00] (current) peter
Line 1: Line 1:
 ====== Pi-Hole - Setup Pi-Hole running in a container on QNAP Container Station ====== ====== Pi-Hole - Setup Pi-Hole running in a container on QNAP Container Station ======
  
 +===== Create an Ubuntu LXC Container =====
  
 On the QNAP On the QNAP
Line 7: Line 8:
   * Select the **Create** option from the left side of the menu and then scroll to the bottom of the window.   * Select the **Create** option from the left side of the menu and then scroll to the bottom of the window.
     * There are several types of Docker and LXC containers listed.     * There are several types of Docker and LXC containers listed.
-  * Choose the LXC Ubuntu 18.04 container.   +  * Choose the **LXC** Ubuntu 18.04 container.   
-    * That's the underlying OS for the QNAP QTS Operating System on the NAS. +  * Name the container, such as "Pi-Hole" and set the CPU limit to 20% and the memory limit to 2048MB which should be sufficient for Pi-Hole
-  * Nme the container "Pi-Hole" and set the CPU limit to 20% and the memory limit to 1024MB which is more than enough for Pi-Hole.+    * The memory can be set higher if needed.
  
-Then click on **Advanced Settings**.+{{:pi-hole:pi-hole_-_container_settings.png?800|}} 
 + 
 +<WRAP info> 
 +**NOTE:** A LXC container is used instead of a Docker container. 
 + 
 +LXC containers are not just an application instance.   
 + 
 +  * An LXC Container runs an OS instance, such as Ubuntu, on which you can install one or more applications. 
 +  * The LXC container uses a minimal amount of system resources. 
 +  * The OS the container runs can easily be updated. 
 +  * The applications running in the OS can easily be updated. 
 +  * To update Pi-Hole is as easy as running the standard **pihole -up** command. 
 + 
 +Docker containers run a single application installation. 
 + 
 +  * A Docker Container is based upon a package image, and are therefore not as easy to modify. 
 +  * To update Pi-Hole, you would have to create a new container when a new version of Pi-Hole is released. 
 +</WRAP> 
 + 
 +---- 
 + 
 +Click on **Advanced Settings**.
  
   * Change the network mode to **Bridge**.   * Change the network mode to **Bridge**.
   * Select **Use Static IP** and change the IP address to a unique address on your LAN.   * Select **Use Static IP** and change the IP address to a unique address on your LAN.
 +    * In this example, 192.168.1.25 is used.
 +
 +{{:pi-hole:pi-hole_-_container_settings_-_advanced_-_network.png?800|}}
 +
 +----
 +
 +Return to the **Overview** section in Container Station and after a few minutes you should see your container listed.
 +
 +Click on the name of the container, which will enter the console.
 +
 +Type **passwd** to change the password.
  
-Go back to the **Overview** section in Container Station and after a few minutes you should see your container listed.+<WRAP info> 
 +**NOTE:**  The original password is **ubuntu**. 
 +</WRAP>
  
-Click on the name of the container and you will enter the console. 
  
-Type **passwd** to change the password.  Note the original password is **ubuntu**.+----
  
-Before we can install Pi-hole, we need to update this very lightweight LXC container to add some features.  +===== Update and Configure the Ubuntu LXC Container =====
  
-First run updates:+Update Ubuntu:
  
 <code bash> <code bash>
-sudo apt-get update+sudo apt update
 </code> </code>
  
-Next install the ssh server:+Install the ssh server:
  
 <code bash> <code bash>
-sudo apt-get install -y openssh-server+sudo apt install -y openssh-server
 </code> </code>
  
-Now add a username other than the default. Just go through the dialogue and answer the prompts for the new user.+Add a username other than the default.  
 + 
 +<WRAP info> 
 +**NOTE:**  Simply answer the prompts for the new user. 
 +</WRAP>
  
 <code bash> <code bash>
Line 42: Line 80:
 </code> </code>
  
-Now grant the new user privilege:+Grant the new user root privileges:
  
 <code bash> <code bash>
Line 48: Line 86:
 </code> </code>
  
-Open a terminal back on your desktop computer and "ssh" to the new machine with the address you used to create the LXC instance:+---- 
 + 
 +===== SSH into the Ubuntu LXC Container ===== 
 + 
 +"ssh" to the new machine with the IP address that was used to create the LXC instance:
  
 <code bash> <code bash>
Line 63: Line 105:
  
 <code bash> <code bash>
-sudo apt-get install curl+sudo apt install curl
 </code> </code>
  
-Now you can install pi-hole:+Install pi-hole:
  
 <code bash> <code bash>
Line 72: Line 114:
 </code> </code>
  
-Select the defaults until the DNS screen and then choose Cloudflare as your DNS.+<WRAP alert> 
 +**ALERT:**  This option could be dangerous, as it simply runs a script downloaded from the web.
  
-Accept all the rest of the defaults and be careful not to change them.  This will assure that you get the admin web interface and that statistics are logged.+There is no guarantee that this script might contain a trojan etc
  
-The installation will continue for a few minutes after you answer the prompts.+To be extra secure, you could alternatively, just downloads the script using:
  
-After your installation completes, you will receive a message telling you to set up the DHCP settings on your router to make the address of your Pi-Hole the primary DNS for your network.+<code bash> 
 +curl -sSL https://install.pi-hole.net -o pihole.sh 
 +</code> 
 + 
 +Then review the script yourself to ensure you are happy with it. 
 + 
 +Then install it (making sure it has the right permissions to run). 
 + 
 +<code bash> 
 +chmod 777 pihole.sh 
 +bash pihole.sh 
 +</code> 
 + 
 +</WRAP> 
 + 
 + 
 +Select the defaults until the DNS screen and then choose Cloudflare as the DNS. 
 + 
 +  * Accept all the rest of the defaults. 
 +  * The installation will continue for a while. 
 +  * When the installation completes, a message will be shown telling you to set up the DHCP settings on your router to make the address of your Pi-Hole the primary DNS for your network
 +  * So log into your router and point the DNS settings to the IP address of this container.
  
-That will insert the Pi-Hole as the "man-in-the-middle" to scrutinize all DNS names before they are either passed to the Internet or "Pi-Holed". 
  
 When you return to the prompt in the "ssh" terminal session, enter the following command to set your Pi-hole password: When you return to the prompt in the "ssh" terminal session, enter the following command to set your Pi-hole password:
Line 88: Line 151:
 </code> </code>
  
-You can now close the "ssh" terminal session.+<WRAP info> 
 +**NOTE:**  The "ssh" terminal session can now be closed. 
 +</WRAP>
  
-Go to your web browser and enter the address of your Pi-Hole followed by /admin:+ 
 +---- 
 + 
 +===== Access the Pi-Hole Website ===== 
 + 
 +Within a web browserenter the IP address of your Pi-Hole followed by /admin:
  
 <code bash> <code bash>
-http://172.16.1.5/admin+http://192.168.1.25/admin
 </code> </code>
  
-Select the login and you should be able to log in with the password you just set.+Click **login** and you should be able to log in with the password you just set.
  
-Since this is a "scratch" install in an LXC container, you will be able to start and stop the container and reboot the QNAP NAS without any problems and even upgrade Pi-Hole when new releases are available.+<WRAP info> 
 +**NOTE:**  You will be able to start and stop the LXC container and reboot the QNAP NAS without any problems and even upgrade Pi-Hole when new releases are available. 
 +</WRAP>
  
-This LXC container is very lean and uses a minimal amount of system resources. 
  
-Don'forget to set the DNS settings for your DHCP server on your router because Pi-Hole will not be used by any of your network clients until that occurs.+<WRAP important> 
 +**IMPORTANT:**  Do not forget to set the DNS settings for your DHCP server on your router because Pi-Hole will not be used by any of your network clients until that occurs.
  
 A good practice is to make the Pi-Hole DNS 1 and then Cloudflare 1.1.1.1 as DNS 2. A good practice is to make the Pi-Hole DNS 1 and then Cloudflare 1.1.1.1 as DNS 2.
  
 That will assure DNS translation when your Pi-Hole is not running. That will assure DNS translation when your Pi-Hole is not running.
 +
 +</WRAP>
  
 ---- ----
pi-hole/setup_pi-hole_running_in_a_container_on_qnap_container_station.1595583207.txt.gz · Last modified: 2020/07/24 10:33 by 185.104.185.238

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki