Skip to content

Commit 7fee135

Browse files
authored
docs(wiki): add docs/wiki pages + sidebar/footer + wiki sync action (ignore docs/ in Docker builds)
1 parent 8de3c27 commit 7fee135

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+2989
-0
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ metadata/
1919
sessions/
2020
vendor/
2121
tests/
22+
docs/

.github/workflows/sync-wiki.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: Sync wiki docs
3+
4+
on:
5+
push:
6+
paths:
7+
- "docs/wiki/**"
8+
workflow_dispatch: {}
9+
10+
permissions:
11+
contents: read
12+
13+
concurrency:
14+
group: sync-wiki-${{ github.ref }}
15+
cancel-in-progress: false
16+
17+
jobs:
18+
sync_wiki:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout FileRise
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
ref: ${{ github.ref }}
27+
28+
- name: Checkout wiki
29+
uses: actions/checkout@v4
30+
with:
31+
repository: error311/FileRise.wiki
32+
token: ${{ secrets.PAT_TOKEN }}
33+
path: wiki-repo
34+
fetch-depth: 0
35+
36+
- name: Sync docs/wiki to wiki repo
37+
shell: bash
38+
run: |
39+
set -euo pipefail
40+
rsync -av --delete --exclude .git docs/wiki/ wiki-repo/
41+
cd wiki-repo
42+
git config user.name "github-actions[bot]"
43+
git config user.email "github-actions[bot]@users.noreply.github.com"
44+
git add .
45+
if git diff --cached --quiet; then
46+
echo "No changes to sync"
47+
else
48+
git commit -m "docs: sync wiki from FileRise"
49+
git push origin HEAD:master
50+
fi

docs/.DS_Store

8 KB
Binary file not shown.

docs/wiki/ACL-Recipes.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# ACL Recipes
2+
3+
These recipes map to the **Folder Access** UI in the Admin Panel. Use them as starting points and adjust per folder.
4+
5+
## Notes
6+
7+
- **Manage (Owner)** grants full access for that folder.
8+
- **Write** is a shortcut that toggles the file actions (Create File, Upload, Edit, Rename, Copy, Delete, Extract).
9+
- **View (own)** limits listings to files the user uploaded.
10+
- Account flags (Read-only, Disable upload, Folder-only) still apply even if ACLs allow an action.
11+
12+
---
13+
14+
## Recipes
15+
16+
### Read-only viewer
17+
18+
- View (all): on
19+
- Everything else: off
20+
21+
### Upload dropbox (per-user)
22+
23+
- Upload: on
24+
- View (own): on (auto-enabled by Upload)
25+
- Everything else: off
26+
27+
### Contributor (upload + edit, no delete)
28+
29+
- View (all): on
30+
- Upload: on
31+
- Create File: on (optional)
32+
- Edit, Rename, Copy: on
33+
- Delete, Extract: off
34+
- Manage: off
35+
36+
### Editor with delete, no sharing
37+
38+
- View (all): on
39+
- Upload, Create File, Edit, Rename, Copy, Delete, Extract: on (or toggle Write)
40+
- Share File / Share Folder: off
41+
- Manage: off
42+
43+
### Folder owner / manager
44+
45+
- Manage (Owner): on
46+
47+
### Share file links only
48+
49+
- View (all): on
50+
- Share File: on
51+
- Manage: off
52+
53+
### Share folder links
54+
55+
- View (all): on
56+
- Share Folder: on (UI will require Manage)
57+
- Manage (Owner): on
58+
59+
### Move items between folders
60+
61+
- Source folder: Delete allowed (or Write)
62+
- Destination folder: Manage required (Move is owner-only today)
63+
64+
---
65+
66+
## Related docs
67+
68+
- [ACL and permissions model](https://github.com/error311/FileRise/wiki/ACL-and-Permissions)
69+
- [Admin Panel](https://github.com/error311/FileRise/wiki/Admin-Panel)

docs/wiki/ACL-and-Permissions.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# ACL and Permissions Model
2+
3+
FileRise uses per-folder ACLs that are enforced consistently across the web UI, API, and WebDAV.
4+
5+
---
6+
7+
## Roles and scopes
8+
9+
- **Admin**: full access and configuration rights.
10+
- **Standard user**: access is governed by per-folder ACLs and user flags.
11+
12+
User flags used by the app:
13+
14+
- **Folder-only**: limits the user to their personal folder (usually `/uploads/<username>`).
15+
- **Read-only**: blocks write actions (upload/edit/rename/delete/move/copy).
16+
- **Disable upload**: blocks uploads but can still allow non-upload actions depending on ACLs.
17+
18+
---
19+
20+
## Folder ACLs
21+
22+
Per-folder ACLs control what a user can do inside each folder. The UI exposes common capabilities such as:
23+
24+
- View (own/all)
25+
- Upload
26+
- Create
27+
- Edit
28+
- Rename
29+
- Move / Copy
30+
- Delete
31+
- Extract
32+
- Share
33+
34+
Folder ACLs are inherited by default. Admins can override or disable inheritance as needed.
35+
36+
---
37+
38+
## Permission details (Folder Access UI behavior)
39+
40+
These notes describe what the **Folder Access** screen enforces today.
41+
42+
### Quick rules
43+
44+
- **Manage (Owner)** is the umbrella grant. It auto-enables View (all), file-level actions, and Share, and is required for subfolders and moves.
45+
- **Create File / Upload / Edit / Rename / Copy / Delete / Extract** are individual file actions. The UI gates each one on its own toggle.
46+
- **Write** is a shortcut checkbox: it toggles the file-level actions as a group. If any file action is on, Write shows as checked. It does **not** grant extra capabilities beyond those toggles in the UI.
47+
- **Share File** auto-enables View (own). **Share Folder** auto-enables Manage + View (all) and won’t stay on without them.
48+
49+
### Action map (UI gating)
50+
51+
| UI action | Requires | Notes |
52+
|-----------|----------|-------|
53+
| View (all) | View (all) | View (own) is disabled when full view is on. |
54+
| View (own) | View (own) | Upload also auto-enables this if no view is set. |
55+
| Create file | Create File or Manage | If Create File is off, the New button is disabled. |
56+
| Upload file | Upload or Manage | |
57+
| Edit file | Edit or Manage | |
58+
| Rename file | Rename or Manage | |
59+
| Copy file | Copy or Manage | |
60+
| Delete file | Delete or Manage | |
61+
| Extract archive | Extract or Manage | |
62+
| Create folder | Manage | Subfolders require Manage/Owner. |
63+
| Move (files/folders) | Manage | Owner on an ancestor also qualifies. |
64+
| Share file | Share File | Also sets Share (server side). |
65+
| Share folder | Share Folder + Manage + View (all) | UI enforces this combination. |
66+
67+
Notes:
68+
69+
- Account-level flags (Read-only / Disable upload / Folder-only) and source read-only still apply even if ACLs allow an action.
70+
71+
---
72+
73+
## WebDAV behavior
74+
75+
WebDAV uses the same ACLs as the UI. If a user cannot perform an action in the UI, the same action is blocked over WebDAV.
76+
77+
---
78+
79+
## Shares and encrypted folders
80+
81+
- Share links respect ACLs.
82+
- Encrypted-at-rest folders disable WebDAV, sharing, ZIP create/extract, and ONLYOFFICE by design.
83+
84+
---
85+
86+
## Pro groups
87+
88+
In Pro, user groups can be granted folder ACLs. Group permissions are additive and do not reduce existing user access.
89+
90+
If OIDC group mapping is enabled, group membership can be synced automatically from your IdP.
91+
92+
---
93+
94+
## Tips
95+
96+
- Start with a narrow ACL set and add capabilities as needed.
97+
- For help debugging access, confirm folder inheritance and any user flags first.

docs/wiki/Admin-Gotchas.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Admin gotchas
2+
3+
Common points of confusion for admins.
4+
5+
## Pro not showing up
6+
7+
- Confirm your license is saved in Admin -> FileRise Pro.
8+
- Confirm the Pro bundle is installed and readable.
9+
- Ensure your core version matches the Pro bundle version.
10+
11+
## Updates expired
12+
13+
- Pro keeps working on your current bundle.
14+
- Renew only if you want newer Pro bundles.
15+
16+
## Upload problems
17+
18+
- Check PHP upload size and post limits.
19+
- Verify the web server user can write to `uploads/` and `users/`.
20+
21+
## Instance IDs
22+
23+
- 12-month updates plans require Instance IDs at checkout.
24+
- Business licenses can add Instance IDs at /pro/instances.php.
25+
- Personal licenses require support to change Instance IDs.
26+
27+
## Related
28+
29+
- /docs/?page=pro-license-activation
30+
- /docs/?page=instance-ids

docs/wiki/Admin-Panel.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Admin Panel
2+
3+
The Admin Panel is where you manage users, folder access, authentication, integrations, and system settings. Only admin accounts can open it.
4+
5+
## Access
6+
7+
- Open the **Admin Panel** from the top-right menu in the FileRise UI.
8+
- Some controls are locked when an environment variable or config.php constant is set.
9+
- Pro-only sections show a "Pro" badge when the bundle is not active.
10+
- Use the Search button in the Admin Panel header to reveal the settings search box, then filter sections and settings.
11+
12+
## Sections and options
13+
14+
### Users & Access
15+
16+
- **Manage users**: add users, remove users, reset passwords.
17+
- **Account-level flags** (apply across all folders):
18+
- **Read-only**: view/download only.
19+
- **Disable upload**: blocks uploads.
20+
- **Can share**: allow share links (still subject to ACLs).
21+
- **Bypass ownership**: relax owner-only restrictions for the user.
22+
- **Folder Access**: per-folder ACLs (view, view own, create file, upload, edit, rename, copy, move, delete, extract, share, manage).
23+
- **Pro**: User Groups and Client Portals are managed here when Pro is active.
24+
25+
### Appearance & UI
26+
27+
- **Header title** and **default language**.
28+
- **Pro branding**: logo upload, header colors, footer text.
29+
- **Display tuning**: hover preview size limits and file list summary depth.
30+
- **FFmpeg path**: optional override (locked by `FR_FFMPEG_PATH` if set).
31+
32+
### Auth & WebDAV (OIDC/TOTP)
33+
34+
- Enable/disable **Login form**, **HTTP Basic**, and **OIDC** login.
35+
- **Proxy-only login**: trust a reverse-proxy auth header and disable built-in logins.
36+
- **Auth header name** for proxy-only mode.
37+
- **WebDAV** enable/disable toggle.
38+
- **OIDC settings**: provider URL, redirect URI, client ID/secret (replace to update), public client toggle, debug logging, allow-demote, global OTPAuth URL, and a test button.
39+
40+
### Uploads & Antivirus
41+
42+
- **Resumable chunk size (MB)**: applies to file picker uploads (Resumable.js). Lower it if a reverse proxy limits request size (for example, Cloudflare Tunnels 100 MB).
43+
- **ClamAV** upload scanning toggle (locked by `VIRUS_SCAN_ENABLED` when set).
44+
- **Run self-test** button.
45+
- **Pro**: Virus detection log (read-only preview in Core).
46+
47+
### Sharing & Links
48+
49+
- **Shared max upload size** (bytes) for share uploads.
50+
- View and delete active file and folder share links.
51+
52+
### Network & Proxy
53+
54+
- **Published URL** override for share links and redirects (locked by `FR_PUBLISHED_URL` when set).
55+
- Effective **base path** and **share URL** display (read-only).
56+
57+
### Encryption at rest
58+
59+
- Status, master key source, and key file controls.
60+
- Generate or clear the key file (blocked when locked by env).
61+
- See [Encryption at Rest](https://github.com/error311/FileRise/wiki/Encryption-at-Rest) for details.
62+
63+
### ONLYOFFICE
64+
65+
- Enable ONLYOFFICE integration.
66+
- Document Server origin and JWT secret (replace to update).
67+
- Built-in CSP helper and connection tests.
68+
- Locked when ONLYOFFICE_* constants are set in `config.php`.
69+
70+
### Storage / Disk Usage
71+
72+
- Storage summary and disk-usage insights (scan-backed).
73+
74+
### Sources
75+
76+
- Enable Sources, add/edit/test connections, and set source read-only.
77+
- See [Pro Sources](https://github.com/error311/FileRise/wiki/Pro-Sources) for details.
78+
79+
### Pro Features
80+
81+
- **Search Everywhere**: enable/disable and default limit (env-locked when set).
82+
- **Audit logs**: enable, level, and size caps.
83+
84+
### FileRise Pro
85+
86+
- Pro license status, plan info, bundle install/update, and instance ID.
87+
88+
### Thanks / Sponsor / Donations
89+
90+
- Sponsorship links and support info.
91+
92+
## Notes
93+
94+
- Changes apply immediately after **Save**; some UI changes (header/branding) update instantly.
95+
- Source read-only and account-level flags still override per-folder ACLs.

0 commit comments

Comments
 (0)