48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
name: qsfera-pi
|
|
|
|
services:
|
|
qsfera:
|
|
image: ${QSFERA_IMAGE:?Set QSFERA_IMAGE to a pinned ARM64 image tag}
|
|
platform: linux/arm64
|
|
init: true
|
|
entrypoint:
|
|
- /bin/sh
|
|
command:
|
|
- -ec
|
|
- |
|
|
if [ ! -f /etc/qsfera/qsfera.yaml ]; then
|
|
qsfera init
|
|
fi
|
|
exec qsfera server
|
|
environment:
|
|
OC_BASE_DATA_PATH: /var/lib/qsfera
|
|
OC_CONFIG_DIR: /etc/qsfera
|
|
OC_URL: ${QSFERA_URL:?Set QSFERA_URL to the public server URL}
|
|
OC_LOG_LEVEL: ${QSFERA_LOG_LEVEL:-info}
|
|
OC_LOG_COLOR: "false"
|
|
OC_LOG_PRETTY: "false"
|
|
OC_INSECURE: "${QSFERA_INSECURE:-false}"
|
|
PROXY_TLS: "${QSFERA_PROXY_TLS:-true}"
|
|
PROXY_ENABLE_BASIC_AUTH: "${QSFERA_ENABLE_BASIC_AUTH:-false}"
|
|
IDM_ADMIN_PASSWORD: ${QSFERA_ADMIN_PASSWORD:?Set a strong QSFERA_ADMIN_PASSWORD}
|
|
IDM_CREATE_DEMO_USERS: "false"
|
|
ports:
|
|
- "${QSFERA_BIND_IP:-127.0.0.1}:9200:9200"
|
|
volumes:
|
|
- type: bind
|
|
source: ${QSFERA_CONFIG_DIR:?Set QSFERA_CONFIG_DIR to a persistent directory}
|
|
target: /etc/qsfera
|
|
- type: bind
|
|
source: ${QSFERA_DATA_DIR:?Set QSFERA_DATA_DIR to a persistent directory}
|
|
target: /var/lib/qsfera
|
|
mem_limit: "${QSFERA_MEMORY_LIMIT:?Set QSFERA_MEMORY_LIMIT after measuring available RAM}"
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- 'scheme=https; [ "$${PROXY_TLS}" = "false" ] && scheme=http; curl --fail --silent --show-error --insecure "$${scheme}://127.0.0.1:9200/status.php" >/dev/null'
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
logging:
|
|
driver: local
|
|
restart: unless-stopped
|