Skip to content

Commit 80d5182

Browse files
authored
docs: clarify Docker-first deployment guidance and gateway share target mapping
1 parent cda8c3d commit 80d5182

4 files changed

Lines changed: 93 additions & 2 deletions

File tree

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Quick links: [Website](https://filerise.net) • [Docs](https://filerise.net/doc
4646

4747
## Highlights
4848

49-
- 💾 **Self-hosted “cloud drive”** – Runs anywhere with PHP (or via Docker). No external database required.
49+
- 💾 **Self-hosted “cloud drive”** – Runs on Docker (recommended) or on a standard PHP web server. No external database required.
5050
- 🔐 **Granular per-folder ACLs** – Manage View (all/own), Upload, Create, Edit, Rename, Move, Copy, Delete, Extract, Share, and more — all enforced consistently across the UI, API, and WebDAV.
5151
- 🔗 **Link File (authenticated deep links)** – Generate internal links to specific files, require login + ACL checks, and open directly to the target in the app.
5252
- 🤝 **Folder and file sharing** – Share folders for browsing or upload-only file requests, protect links with passwords/expiration, and share individual files with generated links.
@@ -284,6 +284,8 @@ export PERSISTENT_TOKENS_KEY="$(openssl rand -hex 32)"
284284

285285
Short version: FileRise expects data at `/var/www/{uploads,users,metadata}` and your web server must point to the **public/** folder (for example `DocumentRoot /var/www/filerise/public`).
286286

287+
Docker is the recommended deployment path. Manual installs on a standard PHP web server are supported, but more restrictive shared-hosting environments are best-effort and may not support every feature or background-worker workflow.
288+
287289
Full guide + troubleshooting:
288290
[Installation & setup](https://github.com/error311/FileRise/wiki/Installation-Setup)[Upgrade & migration](https://github.com/error311/FileRise/wiki/Upgrade-and-Migration)[Reverse proxy & subpath](https://github.com/error311/FileRise/wiki/Reverse-Proxy-and-Subpath)
289291

docs/wiki/Home.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# FileRise Wiki
22

3-
FileRise is a self-hosted web file manager with WebDAV, sharing, and per-folder ACLs. It runs without a database and supports Docker or manual installs.
3+
FileRise is a self-hosted web file manager with WebDAV, sharing, and per-folder ACLs. It runs without a database and supports Docker or standard PHP web-server installs. Docker is the recommended deployment path; restrictive shared-hosting environments are best-effort.
44

55
## Project philosophy
66

docs/wiki/Pro-Gateway-Shares.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,91 @@ In the **Shares** tab, you can:
1717

1818
Gateway records remain reusable across both managed and manual mode.
1919

20+
## Share fields: what they mean
21+
22+
The main fields on a gateway share are:
23+
24+
- `gatewayType`
25+
- Managed mode currently supports `sftp` and `s3`.
26+
- `sourceId`
27+
- The FileRise source the share is associated with.
28+
- Use `local` for the default local storage root, or another configured source id such as an SMB source.
29+
- `rootPath`
30+
- The FileRise logical scope inside that source.
31+
- Use `root` to represent the whole source.
32+
- Use a subfolder path such as `projects/acme` to scope the share to that folder inside the source.
33+
- `managedTarget` (optional, but important)
34+
- The actual filesystem path that the managed `rclone serve ...` runtime will expose.
35+
- If set, managed mode uses this value directly.
36+
- If blank, managed mode tries to derive the target path automatically from the source/root settings.
37+
- `mode`
38+
- `ro` = read only
39+
- `rw` = read/write
40+
- `listenAddr` / `port`
41+
- The bind address and port for the managed runtime.
42+
43+
## `rootPath` vs `managedTarget`
44+
45+
These two fields do different jobs:
46+
47+
- `rootPath`
48+
- FileRise logical scope/path inside the selected source.
49+
- This is how the share is scoped from the FileRise side.
50+
- `managedTarget`
51+
- Actual mounted path that the managed runtime serves on disk.
52+
- This is what `rclone serve sftp ... <target>` or `rclone serve s3 ... <target>` will use.
53+
54+
### Local sources
55+
56+
For `local` sources, managed mode can usually derive the target path automatically:
57+
58+
- `sourceId = local`
59+
- `rootPath = root`
60+
- serves the local source root
61+
- `rootPath = Documentation`
62+
- serves the `Documentation` subfolder under that local source root
63+
64+
In those normal local-source cases, `managedTarget` can usually be left blank.
65+
66+
### Non-local sources such as SMB / CIFS
67+
68+
For non-local sources, managed mode requires `managedTarget`.
69+
70+
Current behavior in managed mode is:
71+
72+
- if `managedTarget` is set, it is used directly
73+
- if `managedTarget` is blank and the source is not `local`, managed mode errors
74+
75+
That means SMB/CIFS, SFTP-source, FTP-source, WebDAV-source, and similar non-local source ids need an explicit mounted target path for managed mode.
76+
77+
### SMB example
78+
79+
If your SMB share is mounted on the host/container at:
80+
81+
`/mnt/client-share`
82+
83+
and you want the gateway to expose:
84+
85+
`/mnt/client-share/projects`
86+
87+
then use:
88+
89+
- `sourceId = <your SMB source id>`
90+
- `rootPath = projects`
91+
- `managedTarget = /mnt/client-share/projects`
92+
93+
If you want the whole mounted SMB share, use:
94+
95+
- `sourceId = <your SMB source id>`
96+
- `rootPath = root`
97+
- `managedTarget = /mnt/client-share`
98+
99+
Important:
100+
101+
- `managedTarget` does not mount SMB by itself
102+
- it only tells the managed runtime which already-mounted path to serve
103+
- the path must exist and be visible from the FileRise / managed-runtime environment
104+
20105
## rclone runtime in Managed Mode
21106

22107
Managed mode resolves a runtime `rclone` binary in this order:
@@ -34,6 +119,8 @@ From the admin panel you can:
34119

35120
If the bundled file is a placeholder wrapper, Managed status reports that clearly and asks you to install/upload a real binary.
36121

122+
When a managed share starts successfully, the runtime command ends with the resolved target path described above.
123+
37124
## Docker / container networking notes
38125

39126
- Publish each gateway port on the host (example: `-p 2022:2022`).

docs/wiki/install setup.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ Bind `/var/www/uploads` to a **dedicated folder** (not the root of a massive sha
6060

6161
## 2) Manual install (PHP web server)
6262

63+
Docker is the recommended deployment path. Manual installs on a standard PHP web server are supported, but more restrictive shared-hosting environments are best-effort and may not support every feature or background-worker workflow.
64+
6365
### Requirements
6466

6567
- PHP **8.3+**

0 commit comments

Comments
 (0)