https://github.com/raudius/files_scripts
Custom file actions app for Nextcloud
https://github.com/raudius/files_scripts
Last synced: 11 months ago
JSON representation
Custom file actions app for Nextcloud
- Host: GitHub
- URL: https://github.com/raudius/files_scripts
- Owner: Raudius
- License: agpl-3.0
- Created: 2022-05-04T23:44:37.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-07-23T02:36:02.000Z (11 months ago)
- Last Synced: 2025-07-23T04:21:38.070Z (11 months ago)
- Language: PHP
- Size: 3.32 MB
- Stars: 32
- Watchers: 3
- Forks: 14
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
Awesome Lists containing this project
README
The File Actions app is a scripting tool, which administrators can employ to automate workflows and to give users of the Nextcloud instance additional custom file actions. The actions are accessible straight from the Files app!
**🌕** Scripting in Lua, it's simple and has plenty of online resources.
**⚡** Make hard tasks easy, straight from the Files app.
**🙋** Are you missing a function in the scripting API? Open an issue on Github!
**🤖** Integration with Nextcloud Flow allows you to fully automate workflows.

## Installation & Configuration
### Required:
* Nextcloud >=23
* PHP >=7.4
### Recommended:
The app includes a Lua interpreter which runs on PHP. This interpreter is still [under development](https://github.com/Raudius/Luar) and its use is **not** recommended. For a faster and more reliable solution, install the Lua PHP extension.
* Lua + PHP Lua plugin
```shell
sudo apt-get install lua5.3
sudo apt-get install liblua5.3-0
sudo apt-get install liblua5.3-dev
```
Lua plugin for PHP 7
```shell
sudo apt-get install php-pear
sudo apt-get install php7-dev
sudo cp /usr/include/lua5.3/lua.h /usr/include
sudo ln -s /usr/include/lua5.3/ /usr/include/lua
sudo cp /usr/lib/x86_64-linux-gnu/liblua5.3.a /usr/lib/liblua.a
sudo cp /usr/lib/x86_64-linux-gnu/liblua5.3.so /usr/lib/liblua.so
sudo pecl install lua-2.0.7
```
Lua plugin for PHP 8
Since the Lua plugin is not yet officially supported for PHP8, we need to build it.
```shell
sudo apt-get install php-pear
sudo apt-get install php-dev
cd ~
git clone https://github.com/badoo/php-lua.git
cd php-lua
phpize && ./configure --with-lua-version=5.3
make
# The destination path may change depending on your PHP version
# You can find your extension directory by using:
# php -i | grep extension_dir
sudo cp ./.libs/lua.so /usr/lib/php/20200930/
```
Don't forget to append `extension=lua.so` to your `php.ini`!
### Optional:
Some functions require additional packages to be installed on the server.
* QPDF >=9.1.1 (needed for [PDF functions](docs/Functions.md#Pdf))
```shell
sudo apt-get install qpdf
```
* FFmpeg (needed for [FFmpeg](docs/Functions.md#ffmpeg) and [FFprobe](docs/Functions.md#ffprobe))
```shell
sudo apt install ffmpeg
```
## Documentation
The [admin documentation](docs/Admin.md) contains information about how to create new actions and some precautions that should be taken when writing one.
The [scripting API documentation](https://github.com/Raudius/files_scripts/blob/master/docs/Functions.md) contains descriptions for all the API functions as well as some snippets of how they can be used.
## Contributing
Contributions to the app are most welcome!
* 🌍 **Translations**
The app can be translated through the [Nextcloud community](https://www.transifex.com/nextcloud/nextcloud/content/) in Transifex
* 🛠 **Scripting API**
If there is something you need that is currently not possible (or complex) to do with scripting API, please open a GitHub issue, or even better, a pull request!
* 📃 **Documentation**
The app and API are constantly evolving and the documentation can always be improved. If you have any suggestions or improvements, please do help out!
* 💸 **Donations**
Last and least, you can donate your hard-earned cash with [Liberapay](https://liberapay.com/Raudius/donate).