openwrt-packages/utils/miniflux/files/miniflux.init

45 lines
1.3 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2021 CZ.NIC z.s.p.o. (https://www.nic.cz/)
START=70
USE_PROCD=1
PROG=/usr/bin/miniflux.app
start_service() {
local config_file
config_load miniflux
procd_open_instance
procd_set_param command "$PROG"
procd_append_param user miniflux
config_get config_file main config_file
if [ -n "$config_file" ]; then
procd_append_param command -config-file="$config_file"
else
local listen_address run_migrations database_url
config_get listen_address main listen_address
procd_append_param env LISTEN_ADDR="$listen_address"
config_get run_migrations main run_migrations
[ "$run_migrations" = 1 ] && procd_append_param env RUN_MIGRATIONS=1
config_get database_url database url
if [ -z "$database_url" ]; then
local database_user database_password database_dbname database_sslmode
config_get database_user database user
config_get database_password database password
config_get database_dbname database dbname
config_get database_sslmode database sslmode
database_url="user=$database_user password=$database_password dbname=$database_dbname sslmode=$database_sslmode"
fi
procd_append_param env DATABASE_URL="$database_url"
fi
procd_set_param file "$config_file"
procd_set_param respawn
procd_set_param stderr 1
procd_close_instance
}