====== Building an Octopi Server With A Raspberry Pi ======
**note: **raspberry pi 4 will need the nightly build: https://storage.googleapis.com/octoprint/2019-06-24_2019-06-20-octopi-buster-lite-0.17.0.zip
**note: ** also worth noting that using the crappy mac bonjour protocol to find your printer is pretty...well..crap. IP scan for it using angryip: https://angryip.org. turn on mac address and mac vendor in the options and it will be easy to spot if it picks up an IP address.
* grab the last release from https://octopi.octoprint.org/latest\\
* Unzip the image and install the contained .img file to an SD card using [[https://etcher.io/|Etcher]]\\
Do not at any point format the SD from your Operating System, even if prompted to do so - that will break it and you’ll have to start over. \\
* Configure your WiFi connection by editing octopi-wpa-supplicant.txt on the root of the flashed card when using it like a thumb drive. \\
Important: Do not use WordPad (Windows) or TextEdit (MacOS X) for this, those editors are known to mangle the file, making configuration fail. Use something like Notepad++, Atom or VSCode instead or at the very least heed the warnings in the file.\\
* Boot the Pi from the card.\\
* Log into your Pi via SSH
it is located at [[http://octopi.local|http://octopi.local]] if your computer supports bonjour, or the IP address assigned by your router. Default username is **pi**, default password is **raspberry**\\
passwd\\
adduser **thisisausername**\\
usermod -aG sudo **thisisausername**\\
su - **thisisausername**\\
sudo bash\\
this will allow you to change the password to the user **pi**, so someone can't just try the default login and access your octopi server. it will also add another user and pw combo of your choice, so if you want, you can later remove **pi** as a user completely, or restrict it to the point where it cannot access anything critical.
apt-get update\\
\\
raspi-config\\
\\
update tool\\
expand SD card\\
enable camera\\
enable ssh server\\
reboot\\
this allows you to use the full size of the sd card, turns on the camera for monitoring prints, and enables ssh\\
nano /etc/dhcpcd.conf\\
\\
interface eth0\\
static ip_address=x.x.x.x/y\\
static routers=z.z.z.z\\
static domain_name_servers=a.a.a.a\\
\\
interface wlan0\\
static ip_address=x.x.x.x/y\\
static routers=z.z.z.z\\
static domain_name_servers=a.a.a.a\\
in the above example, we're editing the dhcpcd.conf to give the octopi static IPs. you really only need one or the other, depending on if you are hard-wiring or running your pi wireless (more common).\\
**x.x.x.x** = your desired static IP followed by **y**, your subnet mask (for example /24) and finally **a.a.a.a**, your dns server\\