Merge branch 'nrvo-spacedrive' with squash

This commit is contained in:
Nicolas Meienberger 2024-06-02 13:31:36 +02:00
parent d4a97cf5fc
commit 99449a4873
4 changed files with 95 additions and 0 deletions

35
apps/spacedrive/config.json Executable file
View File

@ -0,0 +1,35 @@
{
"$schema": "../schema.json",
"name": "Spacedrive",
"available": true,
"exposable": true,
"port": 9300,
"id": "spacedrive",
"tipi_version": 1,
"version": "0.2.14",
"categories": ["utilities"],
"description": "Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.",
"short_desc": "Cross-platform file explorer",
"author": "spacedriveapp",
"source": "https://github.com/spacedriveapp/spacedrive",
"website": "https://spacedrive.com/",
"form_fields": [
{
"type": "text",
"label": "Spacedrive Username",
"max": 50,
"min": 3,
"required": true,
"env_variable": "SD_AUTH_USER"
},
{
"type": "password",
"label": "Spacedrive Password",
"max": 50,
"min": 12,
"required": true,
"env_variable": "SD_AUTH_PASSWORD"
}
],
"supported_architectures": ["arm64", "amd64"]
}

View File

@ -0,0 +1,40 @@
version: '3.9'
services:
spacedrive:
container_name: spacedrive
image: ghcr.io/spacedriveapp/spacedrive/server:0.2.14
restart: unless-stopped
environment:
- SD_AUTH=${SD_AUTH_USER}:${SD_AUTH_PASSWORD}
ports:
- ${APP_PORT}:8080
networks:
- tipi_main_network
volumes:
- ${APP_DATA_DIR}/data/spacedrive:/var/spacedrive
labels:
# Main
traefik.enable: true
traefik.http.middlewares.spacedrive-web-redirect.redirectscheme.scheme: https
traefik.http.services.spacedrive.loadbalancer.server.port: 8080
# Web
traefik.http.routers.spacedrive-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.spacedrive-insecure.entrypoints: web
traefik.http.routers.spacedrive-insecure.service: spacedrive
traefik.http.routers.spacedrive-insecure.middlewares: spacedrive-web-redirect
# Websecure
traefik.http.routers.spacedrive.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.spacedrive.entrypoints: websecure
traefik.http.routers.spacedrive.service: spacedrive
traefik.http.routers.spacedrive.tls.certresolver: myresolver
# Local domain
traefik.http.routers.spacedrive-local-insecure.rule: Host(`spacedrive.${LOCAL_DOMAIN}`)
traefik.http.routers.spacedrive-local-insecure.entrypoints: web
traefik.http.routers.spacedrive-local-insecure.service: spacedrive
traefik.http.routers.spacedrive-local-insecure.middlewares: spacedrive-web-redirect
# Local domain secure
traefik.http.routers.spacedrive-local.rule: Host(`spacedrive.${LOCAL_DOMAIN}`)
traefik.http.routers.spacedrive-local.entrypoints: websecure
traefik.http.routers.spacedrive-local.service: spacedrive
traefik.http.routers.spacedrive-local.tls: true

View File

@ -0,0 +1,20 @@
# Spacedrive
Spacedrive is an open source cross-platform file manager, powered by a virtual distributed filesystem (VDFS) written in Rust.
Organize files across many devices in one place. From cloud services to offline hard drives, Spacedrive combines the storage capacity and processing power of your devices into one personal distributed cloud, that is both secure and intuitive to use.
For independent creatives, hoarders and those that want to own their digital footprint, Spacedrive provides a free file management experience like no other.
---
![Spacedrive Interface](https://github.com/spacedriveapp/spacedrive/raw/main/apps/landing/public/github.webp?raw=true)
---
## What is a VDFS?
A VDFS (virtual distributed filesystem) is a filesystem designed to work across a variety of storage layers. With a uniform API to manipulate and access content across many devices, VDFS is not restricted to a single machine. It achieves this by maintaining a virtual index of all storage locations, synchronizing the database between clients in realtime. This implementation also uses CAS (Content-addressable storage) to uniquely identify files, while keeping record of logical file paths relative to the storage locations.
The first implementation of a VDFS can be found in this UC Berkeley paper by Haoyuan Li. This paper describes its use for cloud computing, however the underlying concepts can be translated to open consumer software.

BIN
apps/spacedrive/metadata/logo.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB