-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathreadme-vars.yml
93 lines (84 loc) · 4.57 KB
/
readme-vars.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
# project information
project_name: pairdrop
project_url: "https://github.com/schlagmichdoch/PairDrop"
project_logo: "https://raw.githubusercontent.com/schlagmichdoch/PairDrop/master/public/images/android-chrome-512x512.png"
project_blurb: "[PairDrop]({{ project_url }}) is a sublime alternative to AirDrop that works on all platforms. Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
opt_param_usage_include_env: true
opt_param_env_vars:
- {env_var: "RATE_LIMIT", env_value: "false", desc: "Set to `true` to limit clients to 100 requests per 5 min"}
- {env_var: "WS_FALLBACK", env_value: "false", desc: "Set to `true` to enable websocket fallback if the peer to peer WebRTC connection is not available to the client (see App Setup notes)."}
- {env_var: "RTC_CONFIG", env_value: "", desc: "Path to a json file containing custom STUN/TURN config (see App Setup notes)"}
- {env_var: "DEBUG_MODE", env_value: "false", desc: "Set to `true` to debug the http server configuration by logging clients IP addresses used by PairDrop to STDOUT. [See here for more info](https://github.com/schlagmichdoch/PairDrop/blob/master/docs/host-your-own.md#debug-mode). Do not use in production!"}
param_usage_include_ports: true
param_ports:
- {external_port: "3000", internal_port: "3000", port_desc: "http gui"}
readonly_supported: true
nonroot_supported: true
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Web UI is accessible at http://SERVERIP:PORT. It is strongly recommended to run PairDrop via a reverse proxy, served over HTTPS, if you are making it publicly available. In this configuration you must ensure that the `X-Forwarded-For` header is being set correctly, otherwise all clients will be mutually visible.
Most proxies will set this header automatically but may require additional configuration if you are using something like Cloudflare Proxy.
### Custom STUN/TURN Servers
To specify custom STUN/TURN servers for PairDrop clients to use, create a JSON config file in a mounted path and use the RTC_CONFIG environment variable to point to it.
You can use https://raw.githubusercontent.com/schlagmichdoch/PairDrop/master/rtc_config_example.json as a starting point.
### Note on Websocket fallback
Enabling WS_FALLBACK provides a fallback if the peer to peer WebRTC connection is not available to the client.
This is especially useful if you connect to your instance via a VPN as most VPN services block WebRTC completely in order to hide your real IP address.
*Warning*: All traffic sent between devices using this fallback is routed through the server and therefore not peer to peer! Traffic routed via this fallback is readable by the server and uses the server's bandwidth.
# init diagram
init_diagram: |
"pairdrop:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-pairdrop-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
base -> init-envfile
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-adduser -> init-os-end
init-envfile -> init-os-end
init-config -> init-pairdrop-config
init-custom-files -> init-services
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-pairdrop
svc-pairdrop -> legacy-services
}
Base Images: {
"baseimage-alpine:3.21"
}
"pairdrop:latest" <- Base Images
# changelog
changelogs:
- {date: "21.12.24:", desc: "Rebase to Alpine 3.20."}
- {date: "31.05.24:", desc: "Rebase to Alpine 3.20."}
- {date: "31.01.24:", desc: "Rebase to Alpine 3.19."}
- {date: "30.05.23:", desc: "Rebase to Alpine 3.18."}
- {date: "06.03.23:", desc: "Run npm install as non-root user."}
- {date: "20.02.23:", desc: "Initial Release."}