|
| 1 | +JFileServer H2 Database Filesystem |
| 2 | +================================== |
| 3 | + |
| 4 | +Introduction |
| 5 | +------------ |
| 6 | +JFileServer is a Java based file server that currently supports the SMB/CIFS, FTP/FTPS |
| 7 | +and NFS protocols. A virtual filesystem interface allows custom filesystems to be implemented, |
| 8 | +with a database filesystem framework that makes it easy to use a database to store the filesystem |
| 9 | +metadata, and optionally the file data. |
| 10 | + |
| 11 | +The file server is highly scalable using asynchronous I/O, thread pools and memory pools |
| 12 | +to optimise the throughput. The server may be clustered for additional scaleability based |
| 13 | +on the Hazelcast cluster technology. |
| 14 | + |
| 15 | +An Enterprise add-on module adds support for SMBv2 (higher performance) and SMBv3 (full encryption). |
| 16 | + |
| 17 | +The H2 database filesystem driver stores the filesystem metadata in an H2 database. The |
| 18 | +file data may also be stored in the database, or it can be stored on the local filesystem, depending on |
| 19 | +the configuration. Storing the file data in the database also has options for packing multiple files |
| 20 | +into jar files which are then stored within the database, with an option to compress the data. |
| 21 | + |
| 22 | +History |
| 23 | +------- |
| 24 | +The JFileServer code originally started out as the JLAN Server, the first version being |
| 25 | +released by Starlasoft back in the late 1990's with basic SMB1 support. As development of |
| 26 | +the JLAN Server continued, SMB1 support was enhanced, and FTP and NFS support were added, |
| 27 | +along with the database filesystem framework and smart caching. |
| 28 | + |
| 29 | +In 2007 Alfresco Software bought the rights to the JLAN Server code rebranding it as Alfresco-JLAN, |
| 30 | +and releasing the code as open source. Development continued with the addition of support for |
| 31 | +NTLMv2 and Kerberos enterprise authentication, scalability enhancements using NIO, thread |
| 32 | +pools and memory pools, plus cluster support using Hazelcast, and FTPS support. |
| 33 | + |
| 34 | +In recent years no new development has been done on the Alfresco-JLAN code. |
| 35 | + |
| 36 | +At the beginning of 2018 we forked the Alfresco-JLAN code to create the JFileServer project |
| 37 | +to bring the source code up to date, and continue development of the file server. |
| 38 | + |
| 39 | +License |
| 40 | +------- |
| 41 | +The core JFileServer library and components such as the database filesystem implementations |
| 42 | +are licensed under the same GNU LGPL v3.0 license as the original Alfresco-JLAN code. |
| 43 | + |
| 44 | +JDK Version |
| 45 | +----------- |
| 46 | +The JFileServer code uses features of JDK version 8 onwards. |
| 47 | + |
| 48 | +Docker |
| 49 | +------ |
| 50 | +Pre-configured setups of the core JFileServer and various database fileserver implementations |
| 51 | +are available as Docker images which can either be used as they are or used as the starting |
| 52 | +point for your own configurations. |
| 53 | + |
| 54 | +For a list of the available Docker images see <https://hub.docker.com/r/filesysorg/>. |
| 55 | + |
| 56 | +Website |
| 57 | +------- |
| 58 | +The main website can be found at <http://www.filesys.org>. |
| 59 | + |
| 60 | +Additional information and documentation will be added there in the near future. |
| 61 | + |
0 commit comments