File Storage¶
At the moment, all media and sidecar files as well as thumbnail images are stored directly in the server's file system, see Config Options.
Filesystem Abstraction¶
We may eventually want to add a filesystem abstraction e.g. to speed up testing or support cloud storage. Afero seems to be the gold standard for this in the Go world:
Related GitHub Issues¶
- Support for cloud storage with encryption
- Embedded Database + Bleve for search? #55
- Postgres support? #47
Software Libraries and References¶
- rclone/rclone - rsync for cloud storage (Google Drive, AWS, One Drive, ...)
- @minio - Object Storage for AI
- upper.io/db.v3 - a productive data access layer for Go
- LevelDB - fast key-value storage library written at Google (written in Go)
- Bleve - full-text search and indexing for Go
- TiDB - a distributed HTAP database compatible with the MySQL protocol (written in Go)
- KSQL - the Streaming SQL Engine for Apache Kafka
- CockroachDB - ultra-resilient SQL for global business (written in Go)
- LedisDB - a high performance NoSQL like Redis powered by Go
- go-pg/pg - Golang ORM with focus on PostgreSQL features and performance
- go-redis/redis - Type-safe Redis client for Golang