Skip to content

AssachanDev/nas-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

NAS Setup Guide

Private NAS using Ubuntu Server, Samba, and Tailscale

Ubuntu Samba Tailscale


What This Is

A setup guide for building a private NAS using Ubuntu Server and Samba, accessible from anywhere via Tailscale — no port forwarding required. Cross-platform: Linux, Windows, and macOS.


Prerequisites

Requirement Details
OS Ubuntu Server (LTS recommended)
Network Tailscale installed and connected
Editor Neovim / Vim / Nano

Setup

1. Check available storage

lsblk
df -h /

2. Install Samba

sudo apt update && sudo apt install samba -y

3. Create NAS directory

sudo mkdir -p /mnt/nas
sudo chown -R $USER:$USER /mnt/nas
sudo chmod -R 775 /mnt/nas

4. Configure Samba

sudo nvim /etc/samba/smb.conf

Add to the bottom of the file (replace <YOUR_USER> with your system username):

[NAS]
   path = /mnt/nas
   browseable = yes
   writable = yes
   valid users = <YOUR_USER>
   create mask = 0775
   directory mask = 0775

5. Set Samba password and start service

sudo smbpasswd -a <YOUR_USER>
sudo systemctl enable smbd
sudo systemctl restart smbd

Client Connection

Linux / Arch

Manual mount:

sudo pacman -S smbclient cifs-utils

# List shares
smbclient -L //<tailscale-ip> -U <YOUR_USER>

# Mount
sudo mkdir -p /mnt/nas-local
sudo mount -t cifs //<tailscale-ip>/NAS /mnt/nas-local -o username=<YOUR_USER>

Auto-mount on boot:

Create a credentials file:

sudo nvim /etc/samba/credentials
username=<YOUR_USER>
password=<YOUR_SAMBA_PASSWORD>

Lock it down:

sudo chmod 600 /etc/samba/credentials

Add to /etc/fstab:

//<tailscale-ip>/NAS /mnt/nas-local cifs credentials=/etc/samba/credentials,_netdev 0 0

Windows

  1. Open File Explorer
  2. Right-click This PCMap network drive
  3. Enter: \\<tailscale-ip>\NAS
  4. Check Connect using different credentials
  5. Enter your Samba username and password

macOS

Finder:

  1. GoConnect to Server (Cmd+K)
  2. Enter: smb://<tailscale-ip>/NAS
  3. Enter your Samba credentials

Terminal:

mount -t smbfs //<YOUR_USER>@<tailscale-ip>/NAS /mnt/nas-local

Troubleshooting

Problem Solution
Connection timeout Check Tailscale status: tailscale status
Login failure Reset Samba password: sudo smbpasswd <YOUR_USER>
Share not found Restart Samba: sudo systemctl restart smbd
Permission denied Verify ownership: ls -la /mnt/nas

License

MIT

About

Minimalist and secure private NASsetup guide using Ubuntu Server, Samba, and Tailscale. Access your files from anywhere!

Topics

Resources

Stars

Watchers

Forks

Contributors