How to set up a Proxmox file server
A Proxmox file server lets you provide centralized network storage and share data efficiently among different users and devices. In this guide, you’ll learn how to set up a file server with Proxmox VE step by step. The result is a secure, high-performance and easy-to-manage solution for storing backups, media files or shared work folders.
Step 1: Choose your Proxmox file server setup
Before you begin, decide whether to set up your Proxmox file server as a virtual machine, LXC container or directly on hardware. All three have their own advantages and disadvantages in terms of performance, maintenance and security.
In this guide, we’ll be creating a virtual machine based on Debian and Samba. This setup is simple to deploy, provides good system isolation and can be easily adapted to meet different requirements. As such, you’ll benefit from the stability of a Linux system and the flexibility of Proxmox’s virtualization features.
Samba is an open-source suite that allows Linux/Unix systems and Windows computers on the same network to share files. It uses the SMB/CIFS protocol, which is also used by Windows file shares.
- Dedicated enterprise hardware
- Configurable hardware equipment
- ISO-certified data centers
Step 2: Check your prerequisites
Before you start setting up your Proxmox file server, make sure Proxmox VE is already installed and running on your server. A bare-metal installation of Proxmox ensures maximum performance and full control over your virtualization environment. If you haven’t installed Proxmox yet, make sure to do so before continuing.
Step 3: Create a virtual machine
Next, create a virtual machine (VM) to host your file server.
Open the Proxmox web interface and click Create VM in the top-right corner. The setup wizard will guide you through the configuration of your new VM step by step:
- Select the node where the VM will be created. Then assign a VM ID (which cannot be changed later) and enter a clear name that’s easy to remember.
- Choose your installation medium and set the operating system type and version.
- Create the virtual hard disk, select the storage location and set the disk size (at least 50 GB is recommended).
- In the CPU section, specify the number of sockets and cores for the VM.
- Under RAM, decide whether memory allocation should be static or dynamic. For file servers, a fixed allocation is best for stability.
- Adjust the VM’s network settings and choose the network interface the VM will communicate through as well as the appropriate network model.
Review the summary of your chosen settings. Then, click Finish to create the VM. If no error messages appear, the new VM will show up in the Proxmox dashboard. Start the VM and install the operating system using the console. You can manage the VM using the built-in console or via remote access.
Step 4: Assign a static IP address
After installing the operating system, set up your VM’s network connection. To ensure the file server remains accessible, assign it a static IP address. This prevents its network address from changing after a reboot, which is important if other devices need constant access.
Log in to your VM through the Proxmox console or via SSH. Then open the network configuration file:
sudo nano /etc/network/interfacesbashThis file defines how the system connects to the network. Add the following lines and adjust the values to match your own network configuration:
auto ens18
iface ens18 inet static
address IP_SERVER
gateway ROUTER_SERVER
dns-nameservers IP_DNS_SERVERReplace IP_SERVER with the address you want the server to use on your network and ROUTER_SERVER with the address of your router or gateway. Then replace IP_DNS_SERVER with the DNS server address used for name resolution. Once you’ve made your changes, save the file and close the editor.
Step 5: Set a hostname
Give your server a unique hostname — in this example, we’ll name it “fileserver” — so it’s easy to identify on the network:
sudo hostnamectl set-hostname fileserverbashTo ensure the network service uses the new settings, restart it:
sudo systemctl restart networkingbash
Step 6: Install and configure Samba
Now it’s time to set up the actual file server. In your VM, run the following commands to update the package lists and install the latest version of Samba:
sudo apt update
sudo apt install samba -ybashAfter installation, Samba usually starts automatically as a background service listening for network requests. Before you can set up a shared folder, you need to create a directory that can be accessed from other devices on the network. In this example, we’ll create one under /srv/samba/shared:
sudo mkdir -p /srv/samba/sharedbashNext, set the folder permissions to allow access for all users. This setup is ideal for test environments or private networks:
sudo chown -R nobody:nogroup /srv/samba/shared
sudo chmod -R 0775 /srv/samba/sharedbashFinally, tell Samba which folder to share over the network. To do this, open the configuration file:
sudo nano /etc/samba/smb.confbashScroll to the end of the file and add the following lines:
[shared]
path = /srv/samba/shared
browseable = yes
read only = no
guest ok = yesThe [shared] section defines the name of the shared folder as it will appear to other devices on the network. The path setting specifies the exact location of the shared directory on the server.
The option browseable = yes makes the shared folder visible in network browsers, such as Windows Explorer, making it easier for other users to find. Set read only = no to allow users to create, edit and delete files within the shared folder, rather than just view them. The setting guest ok = yes lets users access the shared folder without logging in, i.e., anonymously. This is convenient for home or test networks but should be used with caution in production environments.
After making all your changes, save the file and restart the Samba service to apply them:
sudo systemctl restart smbdbashYour Samba server is now up and running.
To restrict access, create dedicated Samba users with passwords and update the folder permissions accordingly. Then in the Samba configuration file, list each authorized user in the [shared] section using the valid user option.
Step 7: Test access from another device
After setting up your Samba file server, check whether you can connect to it from another device on your network. The IP address you’ll use is the static IP you assigned to your virtual machine earlier. On Windows, open File Explorer and enter the shared folder address, for example:
\\IP_SERVER\sharedIf everything has been set up correctly, the shared folder will appear. You’ll now be able to open, create and edit files.
On Linux, you can mount the shared folder in the terminal using a command like:
sudo mount -t cifs //IP_SERVER/shared /mnt -o guestbashYou can now view and access the shared folder’s contents under the /mnt directory.
For production environments, it’s a good idea to use your file server together with a Proxmox Backup Server. Doing so allows regular automated backups of all your data.
- New high-performance NVIDIA RTX PRO 6000 Blackwell GPUs available
- Unparallel performance for complex AI and data tasks
- Hosted in secure and reliable data centers
- Flexible pricing based on your usage

