Skip to content

Commit b62f002

Browse files
author
Gary Spencer
committed
Add README.MD
1 parent a24133c commit b62f002

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

README.MD

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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

Comments
 (0)