From e78af0224125643c39ac1ca9ae4db150a8433e28 Mon Sep 17 00:00:00 2001 From: ed Date: Thu, 14 Mar 2024 23:26:26 +0000 Subject: [PATCH] docs: * add readme section on using amazon/aws s3 as storage * mention http/https confusion caused by incorrectly configured cloudflare * improve custom-font notes * docker: ftp-server howto * docker: suggest moving hist-folders into the config path and switch the idp docker-compose files to use the main image, in anticipation of v1.11 --- README.md | 15 +++++++++++++ docs/TODO.md | 7 ------ .../basic-docker-compose/copyparty.conf | 1 - .../idp-authelia-traefik/docker-compose.yml | 2 +- .../idp-authentik-traefik/docker-compose.yml | 2 +- docs/rice/README.md | 15 +++++++++++++ scripts/docker/README.md | 22 +++++++++++++++++++ 7 files changed, 54 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e4301625..1a5f27c0 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ turn almost any device into a file server with resumable uploads/downloads using * [upload events](#upload-events) - the older, more powerful approach ([examples](./bin/mtag/)) * [handlers](#handlers) - redefine behavior with plugins ([examples](./bin/handlers/)) * [identity providers](#identity-providers) - replace copyparty passwords with oauth and such + * [using the cloud as storage](#using-the-cloud-as-storage) - connecting to an aws s3 bucket and similar * [hiding from google](#hiding-from-google) - tell search engines you dont wanna be indexed * [themes](#themes) * [complete examples](#complete-examples) @@ -356,6 +357,9 @@ upgrade notes * firefox refuses to connect over https, saying "Secure Connection Failed" or "SEC_ERROR_BAD_SIGNATURE", but the usual button to "Accept the Risk and Continue" is not shown * firefox has corrupted its certstore; fix this by exiting firefox, then find and delete the file named `cert9.db` somewhere in your firefox profile folder +* copyparty seems to think I am using http, even though the URL is https + * your reverse-proxy is not sending the `X-Forwarded-Proto: https` header; this could be because your reverse-proxy itself is confused. Ensure that none of the intermediates (such as cloudflare) are terminating https before the traffic hits your entrypoint + * i want to learn python and/or programming and am considering looking at the copyparty source code in that occasion * ```bash _| _ __ _ _|_ @@ -1273,6 +1277,17 @@ there is a [docker-compose example](./docs/examples/docker/idp-authelia-traefik) a more complete example of the copyparty configuration options [look like this](./docs/examples/docker/idp/copyparty.conf) +## using the cloud as storage + +connecting to an aws s3 bucket and similar + +there is no built-in support for this, but you can use FUSE-software such as [rclone](https://rclone.org/) / [geesefs](https://github.com/yandex-cloud/geesefs) / [JuiceFS](https://juicefs.com/en/) to first mount your cloud storage as a local disk, and then let copyparty use (a folder in) that disk as a volume + +you may experience poor upload performance this way, but that can sometimes be fixed by specifying the volflag `sparse` to force the use of sparse files; this has improved the upload speeds from `1.5 MiB/s` to over `80 MiB/s` in one case, but note that you are also more likely to discover funny bugs in your FUSE software this way, so buckle up + +someone has also tested geesefs in combination with [gocryptfs](https://nuetzlich.net/gocryptfs/) with surprisingly good results, getting 60 MiB/s upload speeds on a gbit line, but JuiceFS won with 80 MiB/s using its built-in encryption + + ## hiding from google tell search engines you dont wanna be indexed, either using the good old [robots.txt](https://www.robotstxt.org/robotstxt.html) or through copyparty settings: diff --git a/docs/TODO.md b/docs/TODO.md index b199f584..59a7eb5d 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -1,12 +1,5 @@ a living list of upcoming features / fixes / changes, very roughly in order of priority -* readme / docs - * docker ftp config - * custom-fonts (copy from issue) - * s3 speedfix - * reverseproxy/cloudflare: ensure cloudflare does not terminate https - * docker: suggest putting hists in /cfg/hists/ - * download accelerator * definitely download chunks in parallel * maybe resumable downloads (chrome-only, jank api) diff --git a/docs/examples/docker/basic-docker-compose/copyparty.conf b/docs/examples/docker/basic-docker-compose/copyparty.conf index 55fb4554..59820103 100644 --- a/docs/examples/docker/basic-docker-compose/copyparty.conf +++ b/docs/examples/docker/basic-docker-compose/copyparty.conf @@ -10,7 +10,6 @@ # q, lo: /cfg/log/%Y-%m%d.log # log to file instead of docker - # ftp: 3921 # enable ftp server on port 3921 # p: 3939 # listen on another port # ipa: 10.89. # only allow connections from 10.89.* # df: 16 # stop accepting uploads if less than 16 GB free disk space diff --git a/docs/examples/docker/idp-authelia-traefik/docker-compose.yml b/docs/examples/docker/idp-authelia-traefik/docker-compose.yml index a95558cd..4d0e53d5 100644 --- a/docs/examples/docker/idp-authelia-traefik/docker-compose.yml +++ b/docs/examples/docker/idp-authelia-traefik/docker-compose.yml @@ -6,7 +6,7 @@ networks: services: copyparty: - image: copyparty/ac:idp + image: copyparty/ac container_name: idp_copyparty user: "1000:1000" # should match the user/group of your fileshare volumes volumes: diff --git a/docs/examples/docker/idp-authentik-traefik/docker-compose.yml b/docs/examples/docker/idp-authentik-traefik/docker-compose.yml index fa279249..2359a69c 100644 --- a/docs/examples/docker/idp-authentik-traefik/docker-compose.yml +++ b/docs/examples/docker/idp-authentik-traefik/docker-compose.yml @@ -8,7 +8,7 @@ volumes: services: copyparty: - image: copyparty/ac:idp + image: copyparty/ac container_name: idp_copyparty restart: unless-stopped user: "1000:1000" # should match the user/group of your fileshare volumes diff --git a/docs/rice/README.md b/docs/rice/README.md index 385e3ee3..6c5a16bd 100644 --- a/docs/rice/README.md +++ b/docs/rice/README.md @@ -32,3 +32,18 @@ if you are introducing a new ttf/woff font, don't forget to declare the font its src: local('Source Code Pro Regular'), local('SourceCodePro-Regular'), url(deps/scp.woff2) format('woff2'); } ``` + +and because textboxes don't inherit fonts by default, you can force it like this: + +```css +input[type=text], input[type=submit], input[type=button] { font-family: var(--font-main) } +``` + +and if you want to have a monospace font in the fancy markdown editor, do this: + +```css +.EasyMDEContainer .CodeMirror { font-family: var(--font-mono) } +``` + +NB: `