diff --git a/README.md b/README.md index 0cb292d1..67db7581 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Emulatorjs](https://github.com/EmulatorJS/EmulatorJS) - Self-hosted Javascript emulation for various system. - [Excalidraw](https://github.com/excalidraw/excalidraw) - Online whiteboard collaboration made easy - [Filebrowser](https://github.com/filebrowser/filebrowser) - Web File Browser +- [Filestash](https://github.com/mickael-kerjean/filestash) - A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze - [Firefly III](https://github.com/firefly-iii/firefly-iii) - A personal finances manager - [Fireshare](https://github.com/ShaneIsrael/fireshare) - Self host your media and share with unique links - [Flatnotes](https://github.com/Dullage/flatnotes) - A self-hosted, database-less note taking web app diff --git a/apps/filestash/config.json b/apps/filestash/config.json new file mode 100644 index 00000000..4a77cc34 --- /dev/null +++ b/apps/filestash/config.json @@ -0,0 +1,35 @@ +{ + "$schema": "../schema.json", + "name": "Filestash", + "port": 8189, + "available": true, + "exposable": true, + "id": "filestash", + "tipi_version": 1, + "version": "397fd8b", + "categories": ["utilities"], + "description": "A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze", + "short_desc": "A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze", + "author": "mickael-kerjean", + "source": "https://github.com/mickael-kerjean/filestash", + "form_fields": [ + { + "type": "text", + "label": "(Optional) Google Drive Client ID", + "required": false, + "env_variable": "FILESTASH_GDRIVE_CLIENT_ID" + }, + { + "type": "text", + "label": "(Optional) Google Drive Client Secret", + "required": false, + "env_variable": "FILESTASH_GDRIVE_CLIENT_SECRET" + }, + { + "type": "text", + "label": "(Optional) Dropbox Client ID", + "required": false, + "env_variable": "FILESTASH_DROPBOX_CLIENT_ID" + } + ] +} diff --git a/apps/filestash/docker-compose.yml b/apps/filestash/docker-compose.yml new file mode 100644 index 00000000..250bbdff --- /dev/null +++ b/apps/filestash/docker-compose.yml @@ -0,0 +1,35 @@ +version: '2' +services: + filestash: + container_name: filestash + image: machines/filestash:397fd8b + restart: unless-stopped + environment: + - APPLICATION_URL=${APP_DOMAIN} + - GDRIVE_CLIENT_ID=${FILESTASH_GDRIVE_CLIENT_ID} + - GDRIVE_CLIENT_SECRET=${FILESTASH_GDRIVE_CLIENT_SECRET} + - DROPBOX_CLIENT_ID=${FILESTASH_DROPBOX_CLIENT_ID} + - ONLYOFFICE_URL=http://filestash-onlyoffice + ports: + - ${APP_PORT}:8334 + depends_on: + - filestash-onlyoffice + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.filestash.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.filestash.entrypoints: websecure + traefik.http.routers.filestash.service: filestash + traefik.http.routers.filestash.tls.certresolver: myresolver + traefik.http.services.filestash.loadbalancer.server.port: 8334 + + filestash-onlyoffice: + container_name: filestash_oods + image: onlyoffice/documentserver:7.3.3.50 + restart: unless-stopped + security_opt: + - seccomp:unconfined + networks: + - tipi_main_network + diff --git a/apps/filestash/metadata/description.md b/apps/filestash/metadata/description.md new file mode 100644 index 00000000..36f516b4 --- /dev/null +++ b/apps/filestash/metadata/description.md @@ -0,0 +1,76 @@ +## Configure the Dropbox connector + +Configuring Dropbox must be done by: + +1. requesting access to the Dropbox API. Without this, Filestash can’t access anything stored on the Dropbox servers. To do that, go [there](https://www.dropbox.com/developers/apps/), then: + - click: “Create App” + - select: “dropbox api” + - select: “Full Dropbox” or “App folder” + - type: “whatever name you want” + - in the ‘redirect URI’ field, insert https://example.com/login +2. store the `client_id` configuration given by Dropbox (also known as the `App key`) in the admin console or by setting the `DROPBOX_CLIENT_ID` environment variable + +## Configure the Google Drive connector + +Configuring Google drive can be done by: + +1. Requesting access to the Google Drive API. Without this, Filestash cannot store anything on Google’s servers. To do that, you need to [go there](https://console.developers.google.com/apis/api/drive.googleapis.com/overview) and enable the Drive API. Then, go [there](https://console.developers.google.com/apis/credentials/oauthclient) and create credentials that Filestash will be using to communicate with Google +2. Publish the configuration provided by Google (`client_id` and `client_secret`) in your Filestash admin console or by setting the `GDRIVE_CLIENT_ID` and `GDRIVE_CLIENT_SECRET` environment variables + +--- + +[![screenshot](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo.jpg)](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo.jpg) + + [![](https://camo.githubusercontent.com/189498ada91da90bbdb4744c08cc65e8967890ff749389ddec490402333890e8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d69636b61656c2d6b65726a65616e2f66696c657374617368)](https://github.com/mickael-kerjean/contributors)[![](https://camo.githubusercontent.com/437c9de456499e8dda9d0ec3a4477b6b75655dc94d19986e17810fe0098781bc/68747470733a2f2f696d672e736869656c64732e696f2f6f70656e636f6c6c6563746976652f6261636b6572732f66696c657374617368) ](https://opencollective.com/filestash)[![](https://camo.githubusercontent.com/e8018d8ef35a1fd24b3740ca55507ac58f58b20be2a676f59f44ac08cb7ed780/68747470733a2f2f696d672e736869656c64732e696f2f6f70656e636f6c6c6563746976652f73706f6e736f72732f66696c657374617368) ](https://opencollective.com/filestash)[![](https://camo.githubusercontent.com/53f6b0e53320b9f7669819bc0bb281ea1a3d4a648c3611a7a669dbd1b58da7aa/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6d616368696e65732f66696c657374617368)](https://hub.docker.com/r/machines/filestash) + [![](https://github.com/mickael-kerjean/filestash/actions/workflows/ci.yml/badge.svg)](https://github.com/mickael-kerjean/filestash#)[![](https://camo.githubusercontent.com/bc51a239b32cd20f21e82567ceb3d68a589ba2a61c38d1138ee9ad3eb160950a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4952432d25323366696c6573746173682d627269676874677265656e2e737667)](https://kiwiirc.com/nextclient/#irc://irc.libera.chat/#filestash?nick=guest??) + +A Dropbox-like file manager that let you manage your data anywhere it is located: +[FTP](https://www.filestash.app/ftp-client.html) • FTPS • [SFTP](https://www.filestash.app/ssh-file-transfer.html) • [WebDAV](https://www.filestash.app/webdav-client.html) • Git • [S3](https://www.filestash.app/s3-browser.html) • NFS • Samba • Artifactory • [LDAP](https://www.filestash.app/ldap-browser.html) • Mysql +Storj • CardDAV • CalDAV • Backblaze B2 • [Minio](https://www.filestash.app/s3-browser.html) +Dropbox • Google Drive + +# [](https://github.com/mickael-kerjean/filestash#features)Features + +- Manage your files from a browser +- Authentication middleware to connect to various source of user +- Flexible Share mechanism +- Chromecast support for images, music, and videos +- Video player +- Video transcoding (mov, mkv, avi, mpeg, and more) +- Image viewer +- Image transcoding (raw images from Nikon, Canon, and more) +- Photo management +- Audio player +- Shared links are full fledge network drive +- Office documents (docx, xlsx and more) +- Full org mode client ([documentation](https://www.filestash.app/2018/05/31/release-note-v0.1/)) +- User friendly +- Mobile friendly +- Customisable +- Plugins +- Super fast +- Upload files and folders +- Download as zip +- Multiple cloud providers and protocols, easily extensible +- Nyan cat loader +- Quick access: frequently access folders are pin to the homepage +- Emacs, VIM or Sublime keybindings `;)` +- Search +- .. and many more + +# Documentation + +- [Getting started](https://www.filestash.app/docs/) +- [Installation](https://www.filestash.app/docs/install-and-upgrade/) +- [FAQ](https://www.filestash.app/docs/faq/) + +# Screenshots + + [![user experience on navigation](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/navigation.gif)](https://demo.filestash.app)[![user experience on navigation](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/navigation.gif) + +](https://demo.filestash.app/)[](https://demo.filestash.app/) + + [![user experience on medias](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo_management.gif)](http://demo.filestash.app)[![user experience on medias](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo_management.gif) + +](http://demo.filestash.app/)[](http://demo.filestash.app/) +\ \ No newline at end of file diff --git a/apps/filestash/metadata/logo.jpg b/apps/filestash/metadata/logo.jpg new file mode 100644 index 00000000..30248e2e Binary files /dev/null and b/apps/filestash/metadata/logo.jpg differ