The DataManager server, providing the services required by the various clients
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Jojii d2bebcfd96
Update README.md
5 months ago
.github/workflows Create gosec.yml 1 year ago
constants migrate to libdm 1 year ago
handlers make ace theme a config option 8 months ago
html adjust dockerfile 8 months ago
kubernetes Code refactor 1 year ago
models fix wrong overall size displayed in 'stats' 6 months ago
services update to gormv2 1 year ago
storage Add sqlite support 8 months ago
.dockerignore improve upload mechanism 1 year ago
.gitignore Add sqlite support 8 months ago
Dockerfile adjust dockerfile 8 months ago
LICENSE Update LICENSE 1 year ago
Makefile add Makefile 1 year ago
README.md Update README.md 5 months ago
StartAPIServer.go Code refactor 1 year ago
SyncFiles.go Add sync files struct 11 months ago
Utils.go initial commit 1 year ago
go.mod update dependencies 5 months ago
go.sum update dependencies 5 months ago
main.go Add sqlite support 8 months ago

README.md

Deprecated

Use the new version: https://github.com/DataManager-Go/DataVault

DataManager

A data storing, managing and sharing solution for you or your business. Upload files to a server (this repository) using the CLI Client or the GUI Client. This stores it and allows sharing via a preview html page.

Basic concept

  • There are namespaces
    • Namespaces use following format: username + "_" + namespaceName
    • Each user has a default namespace called username+"_default"
  • One file belongs to one namespace
  • Groups and tags can be assigned to files, this makes it easier to find them
  • Registration can be enabled/disabled to allow/prevent users from creating an account
  • Roles can give certain access to users
  • File encryption is client side only. The server only stores the used cipher and the encrypted file but the en/decryption happens only client side
  • Files are 'private' by default. Using the publish command or upload with --public or --public-name <name> makes a file available via a URL

Installation

Docker

The dockerfiles are hosted on https://hub.docker.com/r/jojii/dmanager Since the file store path is /app/files/ you have to map /app/files with a path on the host.
For instance -v $(pwd)/files/:/app/files/

Manual

Run: make (GO 1.11+ is required)

Configuration

Create an example config using ./main config create
By default the config file is stored in ./data/config.yml

Configurations:

Server

database A postgres database
pathconfig.filestore The local folder for files. If you want to store the files in a different folder, change this value
roles The default roles. You must change them before the first start of server. Changes later on will be ignored.
allowregistration Allows registrations from users

Webserver

useragentsrawfile Respond with the raw file instead of the preview file. Very nice if you want to download the file instead of the preview if you are using wget or curl
maxpreviewfilesize Max filesize for the preivew
htmlfiles Path for the webroot. By default ./html

Run

Run the server using ./main server start
You can add -l debug to view debug logs