Skip to content

A self-hosted file server with web interface (File Browser), SMB network sharing (Samba), and secure internet access (Ngrok). Easy setup with Docker Compose for managing and sharing files locally and remotely.

Notifications You must be signed in to change notification settings

deep-zspace/fileserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Server

A Docker-based file server with web interface and SMB network sharing.

Features

  • File Browser: Web-based file management with upload/download
  • SMB/Samba: Network file sharing for local access
  • Ngrok Tunnel: Secure internet access to your files

Requirements

  • Docker
  • Docker Compose
  • Python 3 (for additional tools)

Installation

  1. Clone this Repo:
git clone https://github.com/deep-zspace/fileserver.git
cd fileserver
  1. Run setup script:
sudo chmod 777 ./setup.sh
./setup.sh

This will prompt you for:

  • Data directory path
  • Ngrok auth token
  • Ngrok domain (optional)
  • SMB username and password
  1. Start services:
docker compose up -d
  1. Create File Browser user:
docker compose stop filebrowser
docker compose run --rm filebrowser users update <username> <password> --perm.admin
docker compose start filebrowser

Replace <username> and <password> with your credentials.

  1. To add systemd service:
sudo chmod 777 ./install-systemd.sh
./install-systemd.sh

Usage

Access File Browser

Access SMB Share

  • Address: smb://your-server-ip/movies
  • Login: Use SMB credentials from setup

Ngrok Dashboard

File Structure

fileserver/
├── config/
│   ├── filebrowser.db          # File Browser database
│   └── filebrowser.json        # File Browser config
├── docker-compose.yml          # Docker services configuration
├── setup.sh                    # Initial setup script
├── install-systemd.sh          # Systemd service installer
├── requirements.txt            # Python dependencies
├── .env                        # Environment variables (created by setup.sh)
└── README.md                   # This file

Commands

Start services

docker compose up -d

Stop services

docker compose down

View logs

docker compose logs -f

Restart a service

docker compose restart <service-name>

Systemd Service

  Status:   sudo systemctl status fileserver
  Start:    sudo systemctl start fileserver
  Stop:     sudo systemctl stop fileserver
  Restart:  sudo systemctl restart fileserver
  Logs:     docker compose logs -f

Reset File Browser password

docker compose stop filebrowser
docker compose run --rm filebrowser users update <username> --password <new-password>
docker compose start filebrowser

Check service status

docker compose ps

About

A self-hosted file server with web interface (File Browser), SMB network sharing (Samba), and secure internet access (Ngrok). Easy setup with Docker Compose for managing and sharing files locally and remotely.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages