mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00

Hardcode them to: SYNC_PORT=8080 SYNC_BASE=/anki_data If these env variables are passed into the container with different values, they are ignored. The reasons is if the user modifies SYNC_BASE they risk data loss since anki-sync-server will no longer write data into the volume. If they change SYNC_PORT they need to also change it when mapping this internal port to the external port of the container, which could be confusing plus it has no benefit to allow this since it's always possible to change the external port even if the internal port is fixed to 8080 (e.g. `-p 1234:8080`). In both cases there is no benefit to making these values configurable and there are risks associated. Unfortunately there is no easy way of implementing this for the Dockerfile.distroless so it's up to the user not to modify these values.
30 lines
723 B
Bash
30 lines
723 B
Bash
#!/bin/sh
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
# Default PUID and PGID if not provided
|
|
export PUID=${PUID:-1000}
|
|
export PGID=${PGID:-1000}
|
|
|
|
# These values are fixed and cannot be overwritten from the outside for
|
|
# convenience and safety reasons
|
|
export SYNC_PORT=8080
|
|
export SYNC_BASE=/anki_data
|
|
|
|
# Check if group exists, create if not
|
|
if ! getent group anki-group > /dev/null 2>&1; then
|
|
addgroup -g "$PGID" anki-group
|
|
fi
|
|
|
|
# Check if user exists, create if not
|
|
if ! id -u anki > /dev/null 2>&1; then
|
|
adduser -D -H -u "$PUID" -G anki-group anki
|
|
fi
|
|
|
|
# Fix ownership of mounted volumes
|
|
mkdir -p /anki_data
|
|
chown anki:anki-group /anki_data
|
|
|
|
# Run the provided command as the `anki` user
|
|
exec su-exec anki "$@"
|