# Hardware/Software Requirements

**URL:** https://discourse.pi-hole.net/t/hardware-software-requirements/273
**Category:** FAQs
**Created:** [October 19, 2016, 3:07pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273 "2016-10-19T15:07:24Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![jacob.salmela](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/jacob.salmela/32/8_2.png) [@jacob.salmela](https://discourse.pi-hole.net/u/jacob.salmela)
#### Post date: [October 19, 2016, 3:07pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/1 "2016-10-19T15:07:24Z")

</div>

This is a historical document and left for archival purposes. For up to date information please use [https://docs.pi-hole.net/](https://docs.pi-hole.net/)

--- OLD INFORMATION ---

> # The Installer
> 
> Our intelligent installer is tailored to installations at home and behind firewalls. If you are installing Pi-hole in an environment beyond that scope, you will need to take extra security measures when installing it.
> 
> # Hardware
> 
> Pi-hole is very lightweight as it only handles DNS queries and returns a blank HTML file so it doesn't need much processing power.
> 
> - ~52MB of free space
> - 512 MB RAM
> 
> # Software
> 
> Pi-hole will run on most Debian-based distro's and is the preferred platform for it.
> 
> We **officially** support the following:
> 
> - Raspbian: Jessie/Stretch
> - Ubuntu: 16.04 / 16.10
> - Debian: 8 / 9
> - Fedora 27, 28, 29
> - CentOS: 7 (not ARM)
> 
> ## Routers, DHCP Options, And Setting The DNS Server
> 
> To take advantage of not having to manually configure your devices to use Pi-hole, your router needs to support an option to [change your local DNS server](https://discourse.pi-hole.net/t/how-do-i-use-pi-holes-built-in-dhcp-server-and-why-would-i-want-to/3026), or set it in the DHCP Options section. More on this step can be found here:
> 
> [How do I configure my devices to use Pi-hole as their DNS server?](https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245)
> 
> If you don't have these options, you can disable DHCP on your router and enable [Pi-hole's built in DHCP server](https://discourse.pi-hole.net/t/how-do-i-use-pi-holes-built-in-dhcp-server-and-why-would-i-want-to/3026). Then Pi-hole can handle configuring your devices to use it as their DNS server.
> 
> Finally, some devices such as Google devices, hardcode their DNS server so it will always be first to be queried. This behavior interferes with [how Pi-hole blocks ads](https://discourse.pi-hole.net/t/why-should-pi-hole-be-my-only-dns-server/3376). In this case, there's not a lot of options to fix it without hacking your way around it.
> 
> ## IP Addressing
> 
> Pi-hole needs a static IP address to properly function (a DHCP reservation is just fine). Users may run into issues because **we currently install `dhcpcd5`, which may conflict with other running network managers** such as `dhclient`, `dhcpcd`, `networkmanager`, and `systemd-networkd`.
> 
> As part of our install process, **we append some lines to `/etc/dhcpcd.conf` in order to statically assign an IP address** , so take note of this prior to installing.
> 
> Please be aware of this fact because it [may cause confusion](https://github.com/pi-hole/pi-hole/issues/1713#issue-260746084). This is not the ideal situation for us to be in, but since a significant portion of our users are running Pi-hole on Raspbian; and because Pi-hole's roots began with the Raspberry Pi, it's a problem that is [difficult problem to get away from](https://github.com/pi-hole/pi-hole/issues/1713#issuecomment-332317532).
> 
> Due to the complexity of different ways of setting an IP address across different systems, it's a slow process and [we need help](https://github.com/pi-hole/pi-hole/issues/629). If you're willing to contribute, please let us know.
> 
> ## Ports
> 
> We need ports 53, 80, and 4711. Port 80 is optional if you decide not to install the Web dashboard during installation.
> 
> ### Port 53 should be used by `dnsmasq`
> 
> If you happen to have another DNS server running, such as BIND, you will need to turn it off in order for Pi-hole to respond to DNS queries.
> 
> ### Port 80 should be used by `lighttpd`
> 
> If you have another Web server already running, such as Apache, Pi-hole's Web server will not work. You can either disable the other Web server or change the port on which `lighttpd` listens, which allows you keep both Web servers running.
> 
> ### Port 4711 should be used by `pihole-FTL`
> 
> FTL is our API engine and by default uses port 4711, but will increment if it's already in use by something else.[https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245](https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245)

---

<div class="post-metadata">

### Author: ![PromoFaux](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/promofaux/32/1545_2.png) [@PromoFaux](https://discourse.pi-hole.net/u/PromoFaux)
#### Post date: [October 19, 2016, 3:08pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/2 "2016-10-19T15:08:46Z")

</div>



---

<div class="post-metadata">

### Author: ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)
#### Post date: [April 30, 2017, 6:25am UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/3 "2017-04-30T06:25:47Z")

</div>

Bumping this one as I believe this excellent HowTo points out some important pitfalls that users experience like conflicting daemons and how lighttpd is used to return a blank ad.

Maybe you could add a "Hostname recommendation" section too as people configure their Pi often with only a short name?  
For allot of software, especially the ones depending on DNS resolution, a FQDN is required:

> FQDNs can be a requirement

> Some things like web servers that use name based virtual hosting or load balancers, etc... absolutely require that you address them via an FQDN or hostname. They determine how to respond to your request based on the FQDN that you are connecting to. Connecting via an IP may not work at all.

> SSL certificates are issued based on domain names, so you may not be able to use some SSL enabled services (properly) without DNS.

> <https://serverfault.com/questions/788862/why-should-i-use-an-fqdn-instead-of-the-servers-ip-address>

Its always harder to fix after.

---

<div class="post-metadata">

### Author: ![jacob.salmela](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/jacob.salmela/32/8_2.png) [@jacob.salmela](https://discourse.pi-hole.net/u/jacob.salmela)
#### Post date: [April 30, 2017, 4:31pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/4 "2017-04-30T16:31:43Z")

</div>

I don't think it would really be appropriate for this FAQ. Anyone who would need to be setting up virtual hosts or load balancers probably knows how to set a FQDN--having one isn't a _requirement_ for running a Pi-hole.

---

<div class="post-metadata">

### Author: ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)
#### Post date: [April 30, 2017, 4:55pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/5 "2017-04-30T16:55:17Z")

</div>

I understand.  
But its such a small step from Pi-Holing to LBing and playing with anything virtual 😉

---

<div class="post-metadata">

### Author: ![mzarrugh](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/m/df788c/32.png) [@mzarrugh](https://discourse.pi-hole.net/u/mzarrugh)
#### Post date: [May 5, 2017, 4:15pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/6 "2017-05-05T16:15:35Z")

</div>

Is 512 MB RAM really a requirement? Seems a bit too high for a `very lightweight`. I'm running Pi-hole as a virtual machine so every MB counts.

---

<div class="post-metadata">

### Author: ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)
#### Post date: [May 5, 2017, 7:30pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/7 "2017-05-05T19:30:31Z")

</div>

> [@mzarrugh](#):
>
> Is 512 MB RAM really a requirement? Seems a bit too high for a very lightweight. I'm running Pi-hole as a virtual machine so every MB counts.

This is dedicated (no other software) Pi-Hole on a Pi B+ :

```
$ uptime
 21:24:18 up 62 days, 3:22, 2 users, load average: 0.00, 0.00, 0.00

$ free -h
             total used free shared buffers cached
Mem: 434M 222M 212M 26M 39M 122M
-/+ buffers/cache: 60M 374M
Swap: 99M 7.6M 92M

```

So yeah looks like you can size it down a bit to lets say 300MB if only running Pi-Hole.  
But why not try yourself ?  
Its a VM so how hard is it to change.

Ps. I can see 512MB as requirement for non VM systems to allow future things to grow.

EDIT: Comment from another KVM Pi-Hole user:

> my pihole vm runs with 112MB of RAM and no swap

---

<div class="post-metadata">

### Author: ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)
#### Post date: [May 5, 2017, 10:45pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/8 "2017-05-05T22:45:23Z")

</div>

Forgot to mention but a Linux behaviour that allot of people overlook is caching.  
Linux will cache allot until almost all memory is used up before it releases/drops cached bits.

> **[Help! Linux ate my RAM!](https://www.linuxatemyram.com/)**

---

<div class="post-metadata">

### Author: ![Ondrej](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/o/df705f/32.png) [@Ondrej](https://discourse.pi-hole.net/u/Ondrej)
#### Post date: [May 7, 2017, 11:56am UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/9 "2017-05-07T11:56:47Z")

</div>

Hello,  
It would not be possible to add the possibility to create a VPN tunnel in the Raspberry PI 3, such as L2TP?

Thank you

---

<div class="post-metadata">

### Author: ![DanSchaper](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/danschaper/32/91_2.png) [@DanSchaper](https://discourse.pi-hole.net/u/DanSchaper)
#### Post date: [July 29, 2020, 11:00pm UTC](https://discourse.pi-hole.net/t/hardware-software-requirements/273/12 "2020-07-29T23:00:01Z")

</div>


