mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-02-10 21:41:08 -05:00
* Better comments in our Docker images * Make `cli/access-permissions.sh` compatible with other Apache groups such as `http` for Linux Arch * Better `/Docker/entrypoint.sh` supporting various Apache configuration paths (and slightly faster). * Add test image for Linux Arch (not sure we will keep it) See * https://github.com/FreshRSS/FreshRSS/pull/8279#issuecomment-3620674818
44 lines
1.1 KiB
Bash
Executable File
44 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Apply access permissions
|
|
|
|
if [ ! -f './constants.php' ] || [ ! -d './cli/' ]; then
|
|
echo >&2 '⛔ It does not look like a FreshRSS directory; exiting!'
|
|
exit 2
|
|
fi
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo >&2 '⛔ Applying access permissions require running as root or sudo!'
|
|
exit 3
|
|
fi
|
|
|
|
# Always fix permissions on the data and extensions directories
|
|
# If specified, only fix the data and extensions directories
|
|
data_path="${DATA_PATH:-./data}"
|
|
if [ "${1:-}" = "--only-userdirs" ]; then
|
|
to_update="./extensions"
|
|
else
|
|
to_update="."
|
|
fi
|
|
|
|
mkdir -p "${data_path}/users/_/"
|
|
|
|
if getent group www-data >/dev/null; then
|
|
www_group="www-data" # Debian, Alpine
|
|
elif getent group apache >/dev/null; then
|
|
www_group="apache" # Alpine
|
|
elif getent group http >/dev/null; then
|
|
www_group="http" # Arch Linux
|
|
else
|
|
echo >&2 '⛔ No Apache group {www-data, apache, http} found!'
|
|
exit 4
|
|
fi
|
|
|
|
# Based on group access
|
|
chown -R :$www_group "$data_path" "$to_update"
|
|
|
|
# Read files, and directory traversal
|
|
chmod -R g+rX "$data_path" "$to_update"
|
|
|
|
# Write access to data
|
|
chmod -R g+w "$data_path"
|