JustToThePoint English Website Version
JustToThePoint en español
Colaborate with us

How to Setup TurnKey Linux Fileserver on Proxmox VE

Logic will get you from A to B. Imagination will take you everywhere, Albert Einstein

Topology and Limits

Turnkey Linux is an open-source project that provides a free library of preconfigured “virtual appliances” built on popular server-oriented open-source software. TurnKey File Server is a relatively user-friendly file server combining Windows-compatible network file shares with a browser-based file manager.

Download template & create the LXC Container

  1. Download the TurnKey File Server Template. In the Proxmox’s web interface, select local (host), e.g., local (myserver) or your preferred storage under Datacenter, host (e.g., myserver). Click the CT Templates tab, then Templates, find turnkey-fileserver, and download it.

    Templates allow you to quickly set up or create containers using TurnKey’s pre-configured software packages, which are designed to be secure and regularly updated.

  2. Create the LXC Container. In the Proxmox’s web interface, select local (host), and right click create CT on your node:
    • General, give it a container ID (e.g., 100), hostname (e.g., filemanager), and most importantly, set a strong Linux root password. This is the Linux root user’s password inside the container.
    • Template: Storage (select where you downloaded the TurnKey template, e.g., local), template (choose the previously downloaded template, debian-12-turnkey-fileserver···.tar.gz).
    • Disks. Apart from rootfs (Root Disk, 8GB), if you want extra storage, add a second disk (mp0): Storage: mypool; Path: /mnt/mydata; Disk size (100 GB).
    • CPU & Memory: Keep defaults, 1–2 vCPUs, 512 MB RAM. It works for light usage or increase it if you need it or expect heavy use.
    • Network: Bridge: vmbr0 (your LAN bridge). Set a static IP address, IPv4: 192.168.1.15/24; Gateway: 192.168.1.1.
    • DNS: keep defaults (use host settings, meaning: add your LAN DNS) or public DNS (e.g., 1.1.1.1) for name resolution.
    • Check Start after created and click Finish.

      Assign a static DHCP lease on your router for the container’s MAC so its IP never changes. Enable Nesting if you plan to run Docker or other LXC inside.

First Boot & Appliance Initial Configuration

  1. In your Proxmox web interface, select your new LXC container under Datacenter, Node (e.g., myserver, CT 100), Console, click Start now (if you did not click on Start after created).
  2. Login as root and and provide the credentials that you specify earlier.
  3. Turnkey Linux Fileserver. First Configuration. You will be prompted to set a new password for the Samba Root Account (it secures Windows-style file sharing). This is different from the container’s Linux root account!
  4. You could skip any additional optional configurations except be sure to choose Install when prompted to apply all security updates.

Accessing Webmin (System Administration UI)

  1. Access webmin. Open your favorite browser and point your browser to: [HTTPS:] + dirIP (your container’s static IP address) + “:” + [12321], e.g., https://192.168.1.15:12321 so you get access to your Webmin System Administration UI.
  2. Login. Go to Webmin and ignore any SSL browser warning (Advanced…, Accept the Risk and continue): browsers don’t like self-signed SSL certificates, but this is the only kind that can be generated automatically. Type in the root and password that you created earlier. This the is Linux root account in your container (not the Samba root account).

Managing Users & Groups in Webmin

  1. Create a New Linux User. In Webmin, go to System, select Users and Groups, click Create a New User (e.g., nmaximo7), fill in your desired username and password, leave all other fields default, and press Create.
  2. Create a New Group. Still under User and Groups, select the Local Groups tab, click Create a New Group. Write a Group Name (e.g., family), select its Members (add the newly created user(s), e.g., nmaximo7), and hit Create. Groups make it easy to manage permissions of files and directories because you do so in the group level rather than per-user.

Preparing the Shared Directory

  1. Change Ownership and Permissions of Your Shared Directory. In Webmin, go to Tools, File Manager .
  2. Navigate to your data second disk mount (e.g., /mnt/mydata), select mydata.
  3. Change Ownership. Click on Tools, Change ownership, so we change the ownership of our share to our user (e.g., nmaximo7), group (e.g., family), and typically recursive (so subfolders and files also change), press Change for these changes to make effect.
  4. Besides, Tools, Change permissions, and you will typically want 775: Owner (7 -nmaximo7- Read, Write, Execute), Group (7 -family- Read, Write, Execute), Others (5, Read, NO Write, Execute). Apply to: All (recursive).
# You can change the ownership and permissions of your second drive’s shared directory directly from the console inside your Turnkey Linux Fileserver container.
# This is often more reliable than the GUI, especially if you encounter issues with Webmin
chown -R nmaximo7:family /mnt/mydata
chmod -R 775 /mnt/mydata

Configuring Samba Shares

  1. Clean Up Default Shares & Convert Users. In Webmin web UI, go to Servers, Samba Windows File Sharing. Select all predefined Samba shares (homes, cdrom, storage), and press Deleted Selected Shares to remove defaults.

  2. Under Samba Users, select Convert Users to synchronize the Linux user and Samba users. In Unix user to covert, select Only linux users or UID ranges:YOUR-USER (e.g., nmaximo7).

  3. Under For newly created users, set the password to:, select Use this pasword, type in your Unix password, click on Convert Users. This Linux user is now a Samba user (Convert Users syncs the UNIX user into the Samba user database), too. Selecting Samba Users you should see these new linux users as Samba users, too. image info

  4. Still under Servers, Samba Windows File Sharing, let’s create a new share by clicking on Create a new file share: Share name (e.g., homedata, the name that it appears to the end-user for the share seen by Windows clients), Directory to share (the resource’s path that you want to share, e.g., /mnt/mydata), Create with owner (e.g., nmaximo7) and permission (755, owner rwx, group r-x, others r-x).

  5. Save: Create, then select the new share and click Security and Access Control. and make sure that Writable is enable (yes), Valid Users: nmaximo7, Valid Groups: family (we want to be able to read and write in the Share), then Save, Return to share list, and finally Restart Samba Server to force the current configuration to be applied. Samba Windows File Sharing

Bitcoin donation

JustToThePoint Copyright © 2011 - 2025 Anawim. ALL RIGHTS RESERVED. Bilingual e-books, articles, and videos to help your child and your entire family succeed, develop a healthy lifestyle, and have a lot of fun. Social Issues, Join us.

This website uses cookies to improve your navigation experience.
By continuing, you are consenting to our use of cookies, in accordance with our Cookies Policy and Website Terms and Conditions of use.