Tags Drive is an open source standalone cloud drive. The main feature of Tags Drive is no folders. Instead, every file can have a tag (or tags).
For example, you want to save an image of a cat. You can save it into folder cats
or into folder cute
. Of course, you may keep 2 equal files, but it would be better to use the tags system. So, you just should to add tags cat
and cute
to the photo.
- Docker
-
Pull the latest release from Docker Hub
docker pull kirtis/tags-drive:latest
-
Prepare folders
Create a folder
tags-drive
and several sub-folders:var
ssl
(if you want to use HTTPS)
CD to
tags-drive
folder. -
Create an env file and a script to run a docker container
Env file –
tags-drive.env
WEB_LOGIN=user WEB_PASSWORD=qwerty WEB_TLS=true STORAGE_ENCRYPT=true
Script –
run.sh
#!/bin/bash docker run --rm -d \ --name tags-drive \ -p 80:80 \ -v $PWD/var:/app/var \ -v $PWD/ssl:/app/ssl \ --env-file $PWD/tags-drive.env \ kirtis/tags-drive:latest
-
Generate a self-signed TLS certificate (optional)
openssl req -x509 -nodes -newkey rsa:2048 -sha256 -keyout ./ssl/key.key -out ./ssl/cert.cert
-
Run
run.sh
script
You can use Caddy to proxy requests to Tags Drive.
-
Replace
-p 80:80
with-p 127.0.0.1:80:80
to expose Tags Drive only to the host -
Disable TLS (set
WEB_TLS
variable tofalse
) -
Create Caddyfile
tags-drive.example.com { proxy / localhost:80 { transparent } gzip log logs/tags-drive.example.log { rotate_age 5 # days except /favicon.ico } }
-
Run
caddy
There're 2 View Modes:
- Cards
- List
You can switch them in Settings
You can upload new files with Drag and Drop
You can open the Preview Window with click on a file image. You can switch previews by arrows.
Tags Drive provides search with logical expression. You can use logical operators:
!
– logical NOT&
– logical AND|
– logical OR(
,)
For example, you have tags with id 1
, 5
, 23
. You want to find files with tags 1
and 5
and without 23
, but files must not have tags 1
and 5
at the time. You can use next search request: !(1&5)&!23
Additional information about logical algebra on Wikipedia: Boolean algebra
You can select multiple files with Ctrl+Left Button
You can open Context Menu on Right Button.
Yes, you can share files from Context Menu. You can manage Share Tokens from Settings.
There are 2 ways to delete a file
-
Trash: you can move a file into Trash. Then file will be deleted after 1 week.
-
Force delete: you can delete a file immediately
- You can keep files with same filenames
- You can tag files before upload on Upload Window
- You can sort files by name, size and adding time
There are several repositories:
- tags-drive/core - contains backend part (written in Go)
- tags-drive/web - contains web part (written in Vue.js and TypeScript)