====== FileStash ======
[[https://www.filestash.app|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:
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:
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;
}
===== Autostart =====