Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
services:alist [2025/03/19 09:33] – willy | services:alist [2025/07/25 07:34] (current) – willy | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | [[https://alist.nn.ci/|AList]] is a nice tool to make your shares accessible online. | + | [[https://doc.oplist.org/|OpenList]] is a nice tool to make your shares accessible online. |
- | + | ||
- | Overall documentation can be reached [[https://alist.nn.ci/guide/|here]], somehow | + | |
The funny thing is that this is a Chinese devleoped open source app. You can see it by the quality of the translations, | The funny thing is that this is a Chinese devleoped open source app. You can see it by the quality of the translations, | ||
- | I admire how AList guys are trying hard to provide english documentation, | + | I admire how OpenList |
+ | The fuss around the AList/ | ||
===== Installation ===== | ===== Installation ===== | ||
- | Very simple to host without containers, the porject releases binary packages on GitHub. Download your preferred release [[https:// | + | Since i installed AList then migrated to OpenList, i will keep the older paths references to AList in the following, to match my setup. Feel free to rename any AList reference to OpenList. |
+ | |||
+ | Very simple to host without containers, the porject releases binary packages on GitHub. Download your preferred release [[https:// | ||
- | The AList will need to be installed as user // | + | The OpenList |
The daemon itself will be stored under **/ | The daemon itself will be stored under **/ | ||
Line 30: | Line 31: | ||
chown fileserver / | chown fileserver / | ||
su - fileserver | su - fileserver | ||
- | wget https:// | + | wgethttps:// |
mkdir bin | mkdir bin | ||
cd bin | cd bin | ||
- | tar xvf ../alist-linux-amd64.tar.gz | + | tar xvf ../openlist-linux-amd64.tar.gz |
</ | </ | ||
Line 48: | Line 49: | ||
INFO[2025-03-19 09:34:53] init logrus... | INFO[2025-03-19 09:34:53] init logrus... | ||
INFO[2025-03-19 09:34:53] Successfully created the admin user and the initial password is: oierjfeD | INFO[2025-03-19 09:34:53] Successfully created the admin user and the initial password is: oierjfeD | ||
- | INFO[2025-03-19 09:34:53] Admin user's username: admin | + | INFO[2025-03-19 09:34:53] Admin user s username: admin |
INFO[2025-03-19 09:34:53] The password can only be output at the first startup, and then stored as a hash value, which cannot be reversed | INFO[2025-03-19 09:34:53] The password can only be output at the first startup, and then stored as a hash value, which cannot be reversed | ||
INFO[2025-03-19 09:34:53] You can reset the password with a random string by running [alist admin random] | INFO[2025-03-19 09:34:53] You can reset the password with a random string by running [alist admin random] | ||
Line 172: | Line 173: | ||
* Root folder path is the shared path on local storage | * Root folder path is the shared path on local storage | ||
* Make sure to edit the mkdir folder permissions to something sane like 775 or 770 or even 750. | * Make sure to edit the mkdir folder permissions to something sane like 775 or 770 or even 750. | ||
- | |||
=== Sharing files === | === Sharing files === | ||
You can add a guest user, one is available but disabled by default, or you can create **meta** links with specific sharing password. See [[https:// | You can add a guest user, one is available but disabled by default, or you can create **meta** links with specific sharing password. See [[https:// | ||
+ | |||
+ | === Indexing === | ||
+ | |||
+ | AList support indexing with many different backends. The easiest one is to enable indexing inside the SQLite database. | ||
+ | |||
+ | According to [[https:// | ||
+ | |||
+ | In other words, i leave indexing to **none**. YMMV. | ||
=== WebDAV === | === WebDAV === | ||
Line 193: | Line 201: | ||
=== SSO === | === SSO === | ||
- | Authelia link... | + | **Note:** so far i failed at setting up Authelia |
+ | |||
+ | If you have setup your SSO backend, like i describe in [[selfhost: | ||
+ | |||
+ | The official documentation [[https:// | ||
+ | |||
+ | Authelia configuration section, to be added to / | ||
+ | < | ||
+ | clients: | ||
+ | - client_id: '<< | ||
+ | client_secret: | ||
+ | client_name: | ||
+ | public: false | ||
+ | authorization_policy: | ||
+ | redirect_uris: | ||
+ | - https:// | ||
+ | - https:// | ||
+ | scopes: | ||
+ | - ' | ||
+ | - ' | ||
+ | - ' | ||
+ | userinfo_signed_response_alg: | ||
+ | </ | ||
+ | |||
+ | To generate a ClientID: | ||
+ | <code bash> | ||
+ | authelia crypto rand --length 72 --charset rfc3986 | ||
+ | </ | ||
+ | |||
+ | To generate a Client Secret: | ||
+ | <code bash> | ||
+ | authelia crypto hash generate pbkdf2 --variant sha512 --random --random.length 72 --random.charset rfc3986 | ||
+ | </ | ||
+ | Please note **both** the digest and the password itself! | ||
+ | |||
+ | In AList use the following information: | ||
+ | * Platform: OIDC | ||
+ | * Client ID: use the one generated above | ||
+ | * Client secret: use the one generated above, the password, not the digest | ||
+ | * Sso oidc username key: preferred_username | ||
+ | * Sso organization name: user | ||
+ | * Sso application name: user | ||
+ | * Sso extra scopes: openid email profile | ||
+ | * SSO endpoint name: https:// | ||
+ | * SSO auto register: create AList users from SSO users | ||
+ | * SSO default permission: a sum of all the extra permissions. Use 768 for WebDAV access and editing. | ||
Line 230: | Line 284: | ||
</ | </ | ||
+ | |||
+ | ===== Update ===== | ||
+ | |||
+ | Just replace the binary with a new one and restart the service. | ||