diff --git a/databases/metabase/Makefile b/databases/metabase/Makefile new file mode 100644 index 000000000000..6e19b53ef598 --- /dev/null +++ b/databases/metabase/Makefile @@ -0,0 +1,41 @@ +PORTNAME= metabase +DISTVERSIONPREFIX= v +DISTVERSION= 0.40.1 +CATEGORIES= databases java +MASTER_SITES= https://downloads.metabase.com/${DISTVERSIONPREFIX}${PORTVERSION}/ +DISTNAME= ${PORTNAME} +EXTRACT_SUFX= .jar +DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} +EXTRACT_ONLY= + +MAINTAINER= daniel@morante.net +COMMENT= Simple and powerful analytics tool that supports multiple data stores + +LICENSE= AGPLv3 + +USE_JAVA= yes +JAVA_RUN= yes +USE_RC_SUBR= ${PORTNAME} + +NO_ARCH= yes +NO_BUILD= yes + +SUB_FILES= pkg-message +SUB_LIST+= PORTNAME=${PORTNAME} \ + METABASEDATADIR=/var/db/${PORTNAME} \ + METABASE_USER=${USERS} \ + METABASE_GROUP=${GROUPS} \ + JAVA_HOME=${JAVA_HOME} + +USERS= www +GROUPS= www + +PLIST_FILES?= bin/${PORTNAME}.jar "@sample etc/${PORTNAME}.conf.sample" + +do-install: + ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}.jar \ + ${STAGEDIR}${PREFIX}/bin/${PORTNAME}.jar + ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.conf \ + ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf.sample + +.include diff --git a/databases/metabase/distinfo b/databases/metabase/distinfo new file mode 100644 index 000000000000..c1ff9286f085 --- /dev/null +++ b/databases/metabase/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1626738677 +SHA256 (metabase-0.40.1/metabase.jar) = 972babb2ce60740729ba56323188bdf998e417dc1d9bac5642d7a429e4a793b1 +SIZE (metabase-0.40.1/metabase.jar) = 270293188 diff --git a/databases/metabase/files/metabase.conf b/databases/metabase/files/metabase.conf new file mode 100644 index 000000000000..e88a290d3fbd --- /dev/null +++ b/databases/metabase/files/metabase.conf @@ -0,0 +1,26 @@ +# Metabase configuration file +# +# See https://www.metabase.com/docs/latest/operations-guide/start.html +# for a full listing of all configurable options. + +# User password complexity and min length, +#MB_PASSWORD_COMPLEXITY=normal +#MB_PASSWORD_LENGTH=10 + +# By default Metabase will listen on localhost on port 3000. +#MB_JETTY_HOST=0.0.0.0 +#MB_JETTY_PORT=3000 + +# Default config database is built-in H2. Use any one of +#MB_DB_TYPE=postgres + +# If using a diffrent config database specify the name, port, user, pass, and host +#MB_DB_DBNAME=metabase +#MB_DB_PORT=5432 +#MB_DB_USER=metabase +#MB_DB_PASS=metabase +#MB_DB_HOST=localhost + +# Show emoji in logs +#MB_EMOJI_IN_LOGS=true + diff --git a/databases/metabase/files/metabase.in b/databases/metabase/files/metabase.in new file mode 100644 index 000000000000..6da30b8f817e --- /dev/null +++ b/databases/metabase/files/metabase.in @@ -0,0 +1,69 @@ +#!/bin/sh + +# +# PROVIDE: %%PORTNAME%% +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable %%PORTNAME%% +# %%PORTNAME%%_enable="YES" +# +# %%PORTNAME%%_enable (bool): Set to YES to enable %%PORTNAME%% +# Default: NO +# %%PORTNAME%%_env_file (str): %%PORTNAME%% configration file +# Default: %%PREFIX%%/etc/%%PORTNAME%%.conf +# %%PORTNAME%%_user (str): %%PORTNAME%% daemon user +# Default: %%METABASE_USER%% +# %%PORTNAME%%_group (str): %%PORTNAME%% daemon group +# Default: %%METABASE_GROUP%% + +. /etc/rc.subr + +name="%%PORTNAME%%" +rcvar=%%PORTNAME%%_enable +load_rc_config $name + +: ${%%PORTNAME%%_enable:="NO"} +: ${%%PORTNAME%%_user:="%%METABASE_USER%%"} +: ${%%PORTNAME%%_group:="%%METABASE_GROUP%%"} +: ${%%PORTNAME%%_flags=""} +: ${%%PORTNAME%%_java_opts=""} +: ${%%PORTNAME%%_java_home="%%JAVA_HOME%%"} +: ${%%PORTNAME%%_env_file:="%%PREFIX%%/etc/${name}.conf"} +: ${%%PORTNAME%%_log:="/var/log/${name}.log"} +: ${%%PORTNAME%%_pidfile:="/var/run/${name}.pid"} +: ${%%PORTNAME%%_datadir:="%%METABASEDATADIR%%"} + +required_files=${%%PORTNAME%%_env_file} +java_command="${%%PORTNAME%%_java_home}/bin/java" +procname="${java_command}" +pidfile=${%%PORTNAME%%_pidfile} +command=/usr/sbin/daemon +command_args="-f -t ${name} -p ${pidfile} -o ${%%PORTNAME%%_log} ${java_command} ${%%PORTNAME%%_java_opts} -jar %%PREFIX%%/bin/%%PORTNAME%%.jar ${%%PORTNAME%%_flags}" +start_precmd="%%PORTNAME%%_precmd" + +%%PORTNAME%%_chdir=${%%PORTNAME%%_datadir} + +%%PORTNAME%%_precmd() +{ + if [ ! -d "${%%PORTNAME%%_datadir}/." ]; then + %%PORTNAME%%_create_datadir || return 1 + fi + + install -o ${%%PORTNAME%%_user} /dev/null ${%%PORTNAME%%_pidfile} + + if [ ! -f "${%%PORTNAME%%_log}" ]; then + touch "${%%PORTNAME%%_log}" + chown "${%%PORTNAME%%_user}:${%%PORTNAME%%_group}" "${%%PORTNAME%%_log}" + chmod 640 "${%%PORTNAME%%_log}" + fi +} + +%%PORTNAME%%_create_datadir() +{ + echo "Creating data directory" + eval mkdir -p ${%%PORTNAME%%_datadir} + [ $? -eq 0 ] && chown -R ${%%PORTNAME%%_user}:${%%PORTNAME%%_group} ${%%PORTNAME%%_datadir} +} + +run_rc_command "$1" diff --git a/databases/metabase/files/pkg-message.in b/databases/metabase/files/pkg-message.in new file mode 100644 index 000000000000..d86f4ac55c20 --- /dev/null +++ b/databases/metabase/files/pkg-message.in @@ -0,0 +1,18 @@ +[ +{ type: install + message: <