Self-hosted cloud file storage with offline-first web and native clients
Find a file
2026-01-23 20:21:18 +05:30
client [client] Fix resource details row overflow 2026-01-19 19:37:10 +05:30
libreoffice-nogui [lo] Unbundle cairo and lcms2, which are needed by vips 2025-08-22 15:32:51 +05:30
screenshots [meta] Add basic screenshots to repo 2025-07-06 00:05:16 +05:30
server [server] partial uploads working without finalize 2026-01-23 20:21:18 +05:30
.gitignore Rename .env => example.env 2025-05-05 14:22:11 +05:30
CHANGELOG.md [meta] Update CHANGELOG 2025-09-22 06:03:05 +05:30
compose.yml [meta] Remove version and services networks 2025-07-06 08:32:49 +05:30
config.defaults.yml [server] Use config.defaults.yml to load default config 2025-05-27 18:56:22 +05:30
Dockerfile [lo] Unbundle cairo and lcms2, which are needed by vips 2025-08-22 15:32:51 +05:30
example.env [server] Allow specifying image tag from env 2025-05-30 18:11:51 +05:30
LICENSE Add AGPL License 2025-04-27 21:46:42 +05:30
README.md [meta] Fix URL in quick-start [#50] 2025-09-10 18:36:52 +05:30
redirect.html [meta] Instance Redirect 2025-05-26 00:49:55 +05:30

Phylum

License: AGPL v3 Matrix Chat

Phylum is a self-hosted file storage platform with offline-first web and native clients, meant as a replacement for Google Drive, Dropbox, etc. It is licensed under GNU Affero GPL 3.0, and is intended to be forever free and non-commercial.

Phylum may be for you if you want:

  • To own your data
  • A file browser with selective sync
  • A fast file manager with native apps - nothing more, nothing less
  • To support free software without mixed-licensing or paywalls
  • Something like Immich, but for files
  • Something that is fully baked

Warning

This project is under very active development, and no guarantees can be made about stability and backward-compatibility. Don't even think about putting the only copy of any data that you care about.

Features

*: Not yet built/tested on MacOS, iOS, and Windows.

Quick-Start

# download compose.yml
wget https://codeberg.org/shroff/phylum/raw/branch/main/compose.yml 
# create a new DB password and put it into .env
echo "PHYLUM_DB_PASSWORD=$(head -c 32 /dev/urandom | md5sum | cut -d ' ' -f 1)" > .env
# Create data/config.yml
mkdir -p data && touch data/config.yml
# Spin it up and show logs
docker compose up -d && docker compose logs -f

Once the server is up and running (it may take a minute or so the first time), create a user using the CLI

docker exec -it phylum_server phylum admin user create

Finally, go to http://localhost:2448

It is highly recommended to take a look at config.defaults.yml to see a full list of configuration options.

CLI

The CLI is a powerful way to interact with and manage a locally running phylum instance. It also enables many advanced admin use-cases that are not yet possible using the app or API yet. You can run it on docker using

$ docker exec -it phylum_server phylum <cmd>

Use the help command (or leave out the command) to get a list of options

Please note that for fs operations, <path>s can have a <uuid>: prefix to make the path relative to that UUID. This also means that if you know the UUID of the resource, you can simply use <uuid>: as the path. If no <uuid>: prefix is specified then the path is relative to the root directory, or the home directory of the user if one is specified using the --user-email flag.

Help and Contributing

Reach out on Matrix at #phylum_cloud:matrix.org if you need help to get set up, or want to contribute.

Screenshots

Desktop Screnshot

Mobile Screenshot