This is part 6 of an article series. You can read the previous one here

So right now I have a web based interface called filebrowser that I use to access my files on my server. It works very well but it’s annoying to have to use a web browser to access my server’s files.

I originally wanted to setup an SMB server on the SBLS (S***box Laptop Server) but the dorm network did not allow the SMB protocol over the local network.

But now since I’m using TailScale, I can do whatever the hell I want. My university’s IT department will not stand in the way of me having an SMB server.

Advantages of SMB

The nice thing about SMB is that it’s fairly universal, so it works on every platform (Windows, MacOS, Linux, even IOS).

It also integrates with most OS’s file browsers so file transfers are super easy to do

Settting up an SMB server

I found another Docker image that hosts an SMB server for you dockur/samba.

Configuration is dead simple, you can easily set the username/password, share name, and the folder where it stores the files from within the docker-compose.yml file

Here is my docker-compose.yml for reference (they also have an example one in their repository linked above)

services:
  samba:
    image: dockurr/samba
    container_name: samba
    environment:
      NAME: "Files"
      USER: "nathan"
      PASS: <readacted for obvious reason>
    ports:
      - 127.0.0.1:445:445
    volumes:
      - ./my-files:/storage
    restart: always

How to access the server

Windows

Open File Explorer, Go to “This PC”, Right Click, Add a Network Location, select Choose a Custom Netork Location then enter \\<your-server-address\your-share-name> and then press next. It will prompt you to login, just login with the credentials you set in the docker-compose.yml file

IOS

Open the Files app, click the three dots in the top right corner, then click “Connect to Server”. Enter in your server’s IP/URL and click the checkmark.

Again it will prompt you to login, make sure to select Registered User at the top and then enter your credentials

If you want to connect on other platforms, I’m sure there are tutorials online for them I just gave the instructions for the platforms I use