-
-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathrun
More file actions
executable file
·84 lines (79 loc) · 2.45 KB
/
run
File metadata and controls
executable file
·84 lines (79 loc) · 2.45 KB
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
#!/usr/bin/with-contenv bash
# nginx Path
NGINX_CONFIG=/etc/nginx/sites-available/default
# user passed env vars
CPORT="${CUSTOM_PORT:-3000}"
CHPORT="${CUSTOM_HTTPS_PORT:-3001}"
CWS="${CUSTOM_WS_PORT:-8082}"
CUSER="${CUSTOM_USER:-abc}"
SFOLDER="${SUBFOLDER:-/}"
FILE_MANAGER_PATH="${FILE_MANAGER_PATH:-$HOME/Desktop}"
DASHBOARD="${DASHBOARD:-selkies-dashboard}"
SELKIES_FILE_TRANSFERS="${SELKIES_FILE_TRANSFERS:-upload,download}"
HARDEN_DESKTOP="${HARDEN_DESKTOP:-false}"
# create self signed cert
if [ ! -f "/config/ssl/cert.pem" ]; then
mkdir -p /config/ssl
openssl req -new -x509 \
-days 3650 -nodes \
-out /config/ssl/cert.pem \
-keyout /config/ssl/cert.key \
-subj "/C=US/ST=CA/L=Carlsbad/O=Linuxserver.io/OU=LSIO Server/CN=*"
chmod 600 /config/ssl/cert.key
chown -R abc:abc /config/ssl
fi
# modify nginx config
cp /defaults/default.conf ${NGINX_CONFIG}
sed -i "s/3000/$CPORT/g" ${NGINX_CONFIG}
sed -i "s/3001/$CHPORT/g" ${NGINX_CONFIG}
sed -i "s/CWS/$CWS/g" ${NGINX_CONFIG}
sed -i "s|SUBFOLDER|$SFOLDER|g" ${NGINX_CONFIG}
sed -i "s|REPLACE_DOWNLOADS_PATH|$FILE_MANAGER_PATH|g" ${NGINX_CONFIG}
s6-setuidgid abc mkdir -p ${FILE_MANAGER_PATH}
if [[ $SELKIES_FILE_TRANSFERS != *"download"* ]] || [[ ${HARDEN_DESKTOP,,} == "true" ]]; then
sed -i '/files {/,/^ }/d' ${NGINX_CONFIG}
fi
if [ ! -z ${DISABLE_IPV6+x} ]; then
sed -i '/listen \[::\]/d' ${NGINX_CONFIG}
fi
if [ ! -z ${PASSWORD+x} ]; then
printf "${CUSER}:$(openssl passwd -apr1 ${PASSWORD})\n" > /etc/nginx/.htpasswd
sed -i 's/#//g' ${NGINX_CONFIG}
fi
if [ ! -z ${DEV_MODE+x} ]; then
sed -i \
-e 's:location / {:location /null {:g' \
-e 's:location /devmode:location /:g' \
${NGINX_CONFIG}
fi
# set dashboard and icon
rm -Rf \
/usr/share/selkies/web
cp -a \
/usr/share/selkies/$DASHBOARD \
/usr/share/selkies/web
sed -i "s|REPLACE_DOWNLOADS_PATH|$FILE_MANAGER_PATH|g" /usr/share/selkies/web/nginx/footer.html
cp \
/usr/share/selkies/www/icon.png \
/usr/share/selkies/web/favicon.ico
cp \
/usr/share/selkies/www/icon.png \
/usr/share/selkies/web/icon.png
# manifest creation
echo "{
\"name\": \"${TITLE}\",
\"short_name\": \"${TITLE}\",
\"manifest_version\": 2,
\"version\": \"1.0.0\",
\"display\": \"fullscreen\",
\"background_color\": \"#000000\",
\"theme_color\": \"#000000\",
\"icons\": [
{
\"src\": \"icon.png\",
\"type\": \"image/png\",
\"sizes\": \"180x180\"
}
],
\"start_url\": \"/\"
}" > /usr/share/selkies/web/manifest.json