FileStash
FileStash is a nice web-based file manager that can be used with multiple different storage backend, from Google Drive to S3 buckets, SFTP and also local storage.
Unfortunately, FileStash has a few inconveninences for my needs which are:
- Does not support sub-paths
- Require container, which means you cannot easily run multiple instances for multiple non-root users.
Here is what i did to try it out, but i gave up because for this specific usage i do need subpath support.
Installation
FileStash is provided only as a container, which makes it difficult to run as multiple instances for multiple users.
As usual you need a dedicated user for proper security:
useradd -d /data/daemons/filestash -m filestash su - filestash curl -O https://downloads.filestash.app/latest/docker-compose.yml
Now properly edit the compose file:
- docker-compose.yml
version: '2' services: app: container_name: filestash image: machines/filestash restart: always environment: - APPLICATION_URL=https://www.mydomain.com/path/ ports: - "8334:8334" volumes: - /data/daemons/filestash/state:/app/data/state/ onlyoffice: container_name: filestash_oods image: onlyoffice/documentserver restart: always security_opt: - seccomp:unconfined volumes: filestash: {} networks: filestash: {}
And then the usual:
su - filestash
podman compose pull
Reverse Proxy
The following basic NGINX setup:
- filestash.conf
location /path/ { client_max_body_size 512M; proxy_pass http://127.0.0.1:8334; proxy_http_version 1.1; proxy_set_header Connection $http_connection; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; #proxy_set_header Authorization $remote_user; }