Skip to content

ahheckel/RaspiCloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

190 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RaspiCloud

Simple script-based, Raspberry-Pi hosted cross-platform Cloud with tls/ssl-encrypted Web Interface.

Features

Syncs client directories automatically to private network access storage (NAS) with on-the-fly categorization of synced files (audio, video, documents and pictures) and thumbnail generation. Prints documents remotely via CUPS. Guest access possible. No 'rooting' of android devices is required.

  • lightweight: based on OpenSSH, linux tools rsync, cron & bash scripts
  • secure: using key-based encryption
  • convenient: tls/ssl-encrypted web interface with instant search and image gallery functions for mobile browsing (see screenshots)
  • generic: client-side linux environment available on many platforms, sftp-access supported by many file browsers (incl. Windows10 Explorer)
  • quick-install: using command line script (~10 min)
  • low cost: using Raspberry-Pi as server and standard USB drive as network access storage (NAS)

Requirements

  • linux server (tested with Raspian Stretch/Buster on a Raspberry Pi 3b+)

  • nginx web server (v1.10.3) and OpenSSH server (v7.4)

  • CUPS server (v2.2.10) for remote printing

  • NAS storage (tested with low cost 2.5 inch portbale, ext4-formatted USB-Harddisk attached to the Raspberry Pi)

  • imagemagick (v6), libreoffice (v5) & ffmpeg (v3.2.14) for server-side thumbnail generation

  • client requires termux (tested on android 7/8) or cygwin (windows) environment

    https://play.google.com/store/apps/details?id=com.termux
    https://cygwin.com/

  • a file manager with ssh support on the client (e.g. mxeplorer, solidexplorer and others under android support key-based authentication, see google playstore)

  • a standard webbrowser on the client (e.g. firefox, opera, chrome)

Dependencies

Web Interface:

Coding

geany v1.29 under Raspian Stretch

  • HTML / XSLT
  • javascript & jquery
  • bourne-shell

Installation

Install RaspiCloud Server:

Install RaspiCloud Client:

On Android Client:

  • install Termux app (see google playstore).

  • open Termux console and install openssh:

    pkg install openssh

  • copy install script from server:

    scp pi@IP-ADDRESS:RaspiCloud-master/install/install_client.sh $HOME/

    chmod +x $HOME/install_client.sh

  • execute it:

    ./install_client.sh

Install Nginx Web Interface:

On Raspbian Server:

  • open a terminal and make install-script executable:

    chmod +x ./RaspiCloud-master/websrv/install_nginx.sh

  • execute it:

    ./RaspiCloud-master/websrv/install_nginx.sh

On the Client:

Install CUPS:

On Raspbian Server:

  • open a terminal and make install-script executable:

    chmod +x ./RaspiCloud-master/websrv/install_cups.sh

  • execute it:

    ./RaspiCloud-master/websrv/install_cups.sh

  • install printers using the CUPS-webinterface

On the Client:

Screenshots

Design and Layout inspired by BetterListing. Thumbnail view. Gallery with Image Manipulation based on cssbox.

Disclaimer

The material embodied in this software is provided to you "as-is" and without warranty of any kind, express, implied or otherwise, including without limitation, any warranty of fitness for a particular purpose. In no event shall the author be liable to you or anyone else for any direct, special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, including without limitation, loss of profit, loss of use, savings or revenue, or the claims of third parties, however caused and on any theory of liability, arising out of or in connection with the possession, use or performance of this software.

About

Easy-to-use cross-platform private cloud with stylish web interface hosted by RaspberryPi server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors