diff options
Diffstat (limited to 'devel/reposilite/files')
-rw-r--r-- | devel/reposilite/files/configuration.cdn.sample | 71 | ||||
-rw-r--r-- | devel/reposilite/files/reposilite.in | 64 |
2 files changed, 135 insertions, 0 deletions
diff --git a/devel/reposilite/files/configuration.cdn.sample b/devel/reposilite/files/configuration.cdn.sample new file mode 100644 index 000000000000..5b10d23d078b --- /dev/null +++ b/devel/reposilite/files/configuration.cdn.sample @@ -0,0 +1,71 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # +# Reposilite :: Local # +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # + +# Local configuration contains init params for current Reposilite instance. +# For more options, shared between instances, login to the dashboard with management token and visit 'Configuration' tab. + +# Hostname +# The hostname can be used to limit which connections are accepted. +# Use 0.0.0.0 to accept connections from anywhere. +# 127.0.0.1 will only allow connections from localhost. +hostname: 0.0.0.0 +# Port to bind +port: 8080 +# Database configuration. Supported storage providers: +# - mysql localhost:3306 database user password +# - sqlite reposilite.db +# - sqlite --temporary +# Experimental providers (not covered with tests): +# - postgresql localhost:5432 database user password +# - h2 reposilite +database: sqlite reposilite.db + +# Support encrypted connections +sslEnabled: false +# SSL port to bind +sslPort: 443 +# Key file to use. +# You can specify absolute path to the given file or use ${WORKING_DIRECTORY} variable. +# If you want to use .pem certificate you need to specify its path next to the key path. +# Example .pem paths setup: +# keyPath: ${WORKING_DIRECTORY}/cert.pem ${WORKING_DIRECTORY}/key.pem +# Example .jks path setup: +# keyPath: ${WORKING_DIRECTORY}/keystore.jks +keyPath: ${WORKING_DIRECTORY}/cert.pem ${WORKING_DIRECTORY}/key.pem +# Key password to use +keyPassword: reposilite +# Redirect http traffic to https +enforceSsl: false + +# Max amount of threads used by core thread pool (min: 5) +# The web thread pool handles first few steps of incoming http connections, as soon as possible all tasks are redirected to IO thread pool. +webThreadPool: 16 +# IO thread pool handles all tasks that may benefit from non-blocking IO (min: 2) +# Because most of tasks are redirected to IO thread pool, it might be a good idea to keep it at least equal to web thread pool. +ioThreadPool: 8 +# Database thread pool manages open connections to database (min: 1) +# Embedded databases such as SQLite or H2 don't support truly concurrent connections, so the value will be always 1 for them if selected. +databaseThreadPool: 1 +# Select compression strategy used by this instance. +# Using 'none' reduces usage of CPU & memory, but ends up with higher transfer usage. +# GZIP is better option if you're not limiting resources that much to increase overall request times. +# Available strategies: none, gzip +compressionStrategy: none +# Default idle timeout used by Jetty +idleTimeout: 30000 + +# Adds cache bypass headers to each request from /api/* scope served by this instance. +# Helps to avoid various random issues caused by proxy provides (e.g. Cloudflare) and browsers. +bypassExternalCache: true +# Amount of messages stored in cached logger. +cachedLogSize: 50 +# Enable default frontend with dashboard +defaultFrontend: true +# Set custom base path for Reposilite instance. +# It's not recommended to mount Reposilite under custom base path +# and you should always prioritize subdomain over this option. +basePath: / +# Debug mode +debugEnabled: false + diff --git a/devel/reposilite/files/reposilite.in b/devel/reposilite/files/reposilite.in new file mode 100644 index 000000000000..006e4aa04e97 --- /dev/null +++ b/devel/reposilite/files/reposilite.in @@ -0,0 +1,64 @@ +#!/bin/sh +# +# PROVIDE: reposilite +# REQUIRE: FILESYSTEMS NETWORKING +# KEYWORD: shutdown +# +# reposilite_enable (bool): +# Default value: "NO" +# Flag that determines whether reposilite is enabled +# +# reposilite_user (string) +# Default value: "%%USER%%" +# User to run reposilite as +# +# reposilite_group (string) +# Default value: "%%GROUP%%" +# Group to run reposilite as +# +# reposilite_config (string) +# Default value: "%%ETCDIR%%/configuration.cdn" +# Path to the reposilite configuration file +# +# reposilite_tinylog_config (string) +# Default value: "%%ETCDIR%%/tinylog.properties" +# Path to the tinylog configuration file +# +# reposilite_java_home (string): +# Default value: "%%JAVA_HOME%%" +# Java VM directory +# +# reposilite_java_opts (string): +# Default value: "" +# Java VM options +# +# reposilite_args (string): +# Default value: "" +# Arguments passed to reposilite +# + +. /etc/rc.subr + +name=reposilite +rcvar=reposilite_enable +load_rc_config $name + +: ${reposilite_enable:="NO"} +: ${reposilite_user:="%%USER%%"} +: ${reposilite_group:="%%GROUP%%"} +: ${reposilite_config:="%%ETCDIR%%/configuration.cdn"} +: ${reposilite_tinylog_config:="%%ETCDIR%%/tinylog.properties"} +: ${reposilite_java_home:="%%JAVA_HOME%%"} +: ${reposilite_java_opts:=""} +: ${reposilite_args:=""} + +app_pidfile="%%RUNDIR%%/${name}.pid" +pidfile="%%RUNDIR%%/daemon.pid" + +command="/usr/sbin/daemon" + +command_args="-f -c -t ${name} -r -R 5 -P ${pidfile} -p ${app_pidfile} -o %%LOGDIR%%/daemon.log ${reposilite_java_home}/bin/java -Dtinylog.configuration=${reposilite_tinylog_config} ${reposilite_java_opts} -jar %%JARFILE%% -wd %%WORKDIR%% -lcm none -lc ${reposilite_config} ${reposilite_args}" + +required_files="${reposilite_config}" + +run_rc_command "$1" |