How to set up a Homeserver with Raspberry Pi using Docker- Part2/2.

Aaditya Gururaj
6 min readApr 6, 2021

If you haven’t checked out the initial setup yet. Please check out part 1 here:https://hgaaditya.medium.com/how-to-set-up-a-homeserver-with-raspberry-pi-using-docker-e38cae062416

Once you are done with part 1. You can continue with the following steps.

Owncloud Setup

  1. After our setup from the main guide. You should be able to go to the homepage and see the following screen greeting you.

2. Login with the default admin:admin username and password combination.

3. Once logged in click on the dropdown on the top right of the screen and go to the Users section and change the default password.

4. After setting up a password, we need to get your local storage to show up in the UI, which is not present by default and manually needs to be mounted/added.

  • Again from the dropdown from the top right, select settings.
  • This will be your Admin Screen, On the left panel the top section will be general user settings and the bottom section is only for admin users.
  • From the bottom(admin) section, Open the storage page.
  • Here you will see an empty section of storage where you can add entries, click on theAdd Storage dropdown and select Local.
  • Then you will see some fields as you see in the image below.
  • Here, you will have to populate the fields according to your container configuration. Also, provide access to the users/groups that you want.

Note that the path here is what you have passed in to the container, and not the mount path of the Host OS itself.

  • Also, click on the small gear icon at the far right of the storage entry and set properties as per your preferences.

5. Once you have set this, go back to your home screen by clicking on the hamburger menu and click on Files. And there you should see your newly mounted directory.

Verify that you are able to access all the directories inside. If you followed the original guide, you should already have set auto-mount options for your disk in the Host OS /etc/fstab. If not, Set this right away. Owncloud does not like it when it doesn't find a disk that it is expecting and you will have to end up scrapping the container or dig into the DB to fix some stuff.

6. This covers most of the basic setup. Go to the Users section and add as many users as you want and define groups and permissions if you are going to share this with friends and family.

7. I would suggest following the Official documentation for any other functionality as it would not be under the scope of this general guide.

Some cool features worth checking out.

  1. Drop feature enables you to create a Droplink that you can share with others for them to upload anything without having to log in.
  2. Sharing features, which allow you to share a file with a link just like google drive. But with a lot more granular control on the duration, Permissions, and Expiry of the share.
  3. Apps section where you can Add-on other simple extension-like apps to extend functionality.

Setting up JellyFin

  1. If you have followed the initial guide you should have a screen like this greeting you.

2. The Initial setup Wizard is pretty straightforward, so just follow it and set up a user account. Once done you should be at your homepage.

3. Now we would have to add your media into the library.

  • Click on the Add Media Library button (Can also be found in the Admin Dashboard menu in the top-left dropdown)
  • Here select what type of media you want to add and Give the library a name.
  • Now click on the Folders button.
  • Here you should see a list of volumes, which if you remember we passed to the container.
  • In my case, the files are under /media , so I will just select that and then select the movies directory inside it.
  • Once selected, just hit OK and this library should now be on your Homepage.

4. We are still not done. We need to do some tweaks to get the Rpi to play along well with our setup.

NOTE: The following settings will be applicable only to Raspberry Pi.

  • From your homepage, click on the hamburger menu on the left and go to your dashboard.
  • From your left panel, under the Server section, you'll find the Playback menu.
  • Here set the HWA to OMX. And disable all the decoding options.
  • Scroll down to the bottom of the page and make sure you have these two properties set

These properties are not any officical recommendations from the docs. These are just what I fiddled around and found a good balance that works.

5. You can add other Libraries similarly. You can configure multiple users if you are sharing this server with friends or family.

6. Just explore the UI and many many options present. I will continue to add any other steps if I find them necessary.

Pi-Hole Setup.

  1. Pi-hole doesn’t have any setup as such. It will be ready to go right from the start.
  2. In case you didn’t set a WEBPASSWORD in the docker-compose.yml then you’ll need to reset your password as follows:
  • From the docker host, run the following command, and rest your UI password.
    docker exec -it pihole_container_name pihole -a -p

3. Once logged in you should be able to see your dashboard :

4. Do not forget to set your Router’s DNS server to the Pihole(Docker Host) IP.

This is specific to your Router Manufacturer and Model. But simple googling will get you steps specific to your router.

  • This concludes the Homeserver setup part of this series. Although the possibilities are endless. You can fiddle around and add as many things you want to it.
  • That’s the thing about containers, they’re so modular, you can basically restructure your entire architecture and your services can still remain unaffected.
  • That’s it for now. Will add new stuff as and when I get time to try things out.
    Till then, Ciao!

--

--

Aaditya Gururaj

Tinkerer! I like to pursue and Implement new tech anywhere possible., and I troubleshoot tech problems for a living ;-)