net-im/gotosocial: new port
With GoToSocial, you can keep in touch with your friends, post, read, and share images and articles. All without being tracked or advertised to! GoToSocial provides a lightweight, customizable, and safety-focused entryway into the Fediverse, and is comparable to (but distinct from) existing projects such as Mastodon, Pleroma, Friendica, and PixelFed. WWW: https://docs.gotosocial.org/en/latest/
This commit is contained in:
committed by
Dave Cottlehuber
parent
0f3979ae58
commit
73ee63cede
1
GIDs
1
GIDs
@@ -149,6 +149,7 @@ gnugk:*:205:
|
||||
gini:*:206:
|
||||
_mixminion:*:207:
|
||||
_dnsdist:*:208:
|
||||
gotosocial:*:209:
|
||||
shoutcast:*:210:
|
||||
git:*:211:
|
||||
hg:*:212:
|
||||
|
||||
1
UIDs
1
UIDs
@@ -154,6 +154,7 @@ gnugk:*:205:205::0:0:GNU GateKeeper pseudo-user:/nonexistent:/usr/sbin/nologin
|
||||
gini:*:206:206::0:0:& streaming server:/var/log/gini:/usr/sbin/nologin
|
||||
_mixminion:*:207:207::0:0:Mixminion server:/nonexistent:/usr/sbin/nologin
|
||||
_dnsdist:*:208:208::0:0:dnsdist user:/nonexistent:/usr/sbin/nologin
|
||||
gotosocial:*:209:209::0:0:Gotosocial user:/nonexistent:/usr/sbin/nologin
|
||||
shoutcast:*:210:210::0:0:Shoutcast sandbox:/nonexistent:/bin/sh
|
||||
git:*:211:211::0:0:git user:/usr/local/git:/bin/sh
|
||||
hg:*:212:212::0:0:mercurial-server user:/usr/local/hg:/bin/sh
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
SUBDIR += gitterdone
|
||||
SUBDIR += gloox
|
||||
SUBDIR += gomuks
|
||||
SUBDIR += gotosocial
|
||||
SUBDIR += icmpchat
|
||||
SUBDIR += icqlib
|
||||
SUBDIR += jabber.el
|
||||
|
||||
58
net-im/gotosocial/Makefile
Normal file
58
net-im/gotosocial/Makefile
Normal file
@@ -0,0 +1,58 @@
|
||||
PORTNAME= gotosocial
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 0.2.0
|
||||
CATEGORIES= net-im
|
||||
|
||||
MAINTAINER= me+freebsd@igalic.co
|
||||
COMMENT= Golang fediverse server
|
||||
|
||||
LICENSE= AGPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
|
||||
# Note: we don't use go:modules, because this project vendors all deps
|
||||
USES= go
|
||||
USE_RC_SUBR= ${PORTNAME}
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= superseriousbusiness
|
||||
# When rebuilding yourself, please set this:
|
||||
#GH_TAGNAME= 40be88ec609c9b5352cbb7d38fd70ff7c6a233a5
|
||||
|
||||
USERS= gotosocial
|
||||
GROUPS= gotosocial
|
||||
|
||||
DBDIR= /var/db/${PORTNAME}
|
||||
|
||||
SUB_LIST= DBDIR="${DBDIR}" \
|
||||
GROUP="${GROUPS}" \
|
||||
USER="${USERS}" \
|
||||
WWWDIR="${WWWDIR}"
|
||||
PLIST_SUB= WWWDIR="${WWWDIR}"
|
||||
|
||||
# patch sample config for people who set a custom prefix
|
||||
.if "${PREFIX}" != "${LOCALBASE}"
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \
|
||||
${WRKSRC}/example/config.yaml
|
||||
.endif
|
||||
|
||||
do-build:
|
||||
@(cd ${WRKSRC} && ${SETENV} \
|
||||
VERSION=${DISTVERSION} COMMIT=${GH_TAGNAME} scripts/build.sh )
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} \
|
||||
${STAGEDIR}${PREFIX}/bin/
|
||||
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
.for x in LICENSE README.md
|
||||
${INSTALL_DATA} ${WRKSRC}/${x} \
|
||||
${STAGEDIR}${DOCSDIR}
|
||||
.endfor
|
||||
${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/example/config.yaml \
|
||||
${STAGEDIR}${ETCDIR}/config.yaml.sample
|
||||
(cd ${WRKSRC}/web && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/ \
|
||||
"! ( -path */gotosocial-styling* )")
|
||||
|
||||
.include <bsd.port.mk>
|
||||
3
net-im/gotosocial/distinfo
Normal file
3
net-im/gotosocial/distinfo
Normal file
@@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1644694134
|
||||
SHA256 (superseriousbusiness-gotosocial-v0.2.0_GH0.tar.gz) = 0e0ddd2e98cf7b9246200e9c86b5d6b1b777b386e0bbd460ea0fe412a6f2d679
|
||||
SIZE (superseriousbusiness-gotosocial-v0.2.0_GH0.tar.gz) = 36850939
|
||||
49
net-im/gotosocial/files/gotosocial.in
Executable file
49
net-im/gotosocial/files/gotosocial.in
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PROVIDE: gotosocial
|
||||
# REQUIRE: DAEMON
|
||||
# KEYWORD: shutdown
|
||||
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to enable GotoSocial
|
||||
#
|
||||
# gotosocial_enable (bool): Set it to YES to enable gotosocial.
|
||||
# Default is "NO".
|
||||
# gotosocial_user (user): Set user to run gotosocial.
|
||||
# Default is "gotosocial".
|
||||
# gotosocial_group (group): Set group to run gotosocial.
|
||||
# Default is "gotosocial".
|
||||
# gotosocial_config (file): Set gotosocial config file.
|
||||
# Default is "%%PREFIX%%/etc/gotosocial/config.yaml".
|
||||
# gotosocial_dir (dir): Set DB and certificate storage dir
|
||||
# Default is "/var/db/gotosocial/".
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name=gotosocial
|
||||
rcvar=gotosocial_enable
|
||||
desc="Golang fediverse server"
|
||||
|
||||
load_rc_config "$name"
|
||||
|
||||
: ${gotosocial_enable:=NO}
|
||||
: ${gotosocial_config:=%%PREFIX%%/etc/gotosocial/config.yaml}
|
||||
: ${gotosocial_user=%%USER%%}
|
||||
: ${gotosocial_group=%%GROUP%%}
|
||||
: ${gotosocial_dir=%%DBDIR%%}
|
||||
|
||||
procname="%%PREFIX%%/bin/${name}"
|
||||
command=/usr/sbin/daemon
|
||||
command_args="-c -T ${name} ${procname} --config-path ${gotosocial_config} server start"
|
||||
|
||||
start_precmd="${name}_prestart"
|
||||
|
||||
gotosocial_prestart()
|
||||
{
|
||||
if [ ! -d ${gotosocial_dir} ]; then
|
||||
install -d -m 0750 -o ${gotosocial_user} -g ${gotosocial_group} \
|
||||
${gotosocial_dir} ${gotosocial_dir}/certs
|
||||
fi
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
||||
35
net-im/gotosocial/files/patch-example_config.yaml
Normal file
35
net-im/gotosocial/files/patch-example_config.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
--- example/config.yaml.orig 2022-02-03 11:30:06 UTC
|
||||
+++ example/config.yaml
|
||||
@@ -151,12 +151,12 @@ db-tls-ca-cert: ""
|
||||
# String. Directory from which gotosocial will attempt to load html templates (.tmpl files).
|
||||
# Examples: ["/some/absolute/path/", "./relative/path/", "../../some/weird/path/"]
|
||||
# Default: "./web/template/"
|
||||
-web-template-base-dir: "./web/template/"
|
||||
+web-template-base-dir: "/usr/local/www/gotosocial/template/"
|
||||
|
||||
# String. Directory from which gotosocial will attempt to serve static web assets (images, scripts).
|
||||
# Examples: ["/some/absolute/path/", "./relative/path/", "../../some/weird/path/"]
|
||||
# Default: "./web/assets/"
|
||||
-web-asset-base-dir: "./web/assets/"
|
||||
+web-asset-base-dir: "/usr/local/www/gotosocial/assets/"
|
||||
|
||||
###########################
|
||||
##### ACCOUNTS CONFIG #####
|
||||
@@ -222,7 +222,7 @@ storage-backend: "local"
|
||||
# this directory, and create new subdirectories and files within it.
|
||||
# Examples: ["/home/gotosocial/storage", "/opt/gotosocial/datastorage"]
|
||||
# Default: "/gotosocial/storage"
|
||||
-storage-local-base-path: "/gotosocial/storage"
|
||||
+storage-local-base-path: "/var/db/gotosocial/storage"
|
||||
|
||||
###########################
|
||||
##### STATUSES CONFIG #####
|
||||
@@ -288,7 +288,7 @@ letsencrypt-port: 80
|
||||
# In any case, make sure GoToSocial has permissions to write to / read from this directory.
|
||||
# Examples: ["/home/gotosocial/storage/certs", "/acmecerts"]
|
||||
# Default: "/gotosocial/storage/certs"
|
||||
-letsencrypt-cert-dir: "/gotosocial/storage/certs"
|
||||
+letsencrypt-cert-dir: "/var/db/gotosocial/storage/certs"
|
||||
|
||||
# String. Email address to use when registering LetsEncrypt certs.
|
||||
# Most likely, this will be the email address of the instance administrator.
|
||||
11
net-im/gotosocial/pkg-descr
Normal file
11
net-im/gotosocial/pkg-descr
Normal file
@@ -0,0 +1,11 @@
|
||||
GoToSocial is an ActivityPub social network server, written in Golang.
|
||||
|
||||
With GoToSocial, you can keep in touch with your friends, post, read,
|
||||
and share images and articles. All without being tracked or advertised
|
||||
to!
|
||||
|
||||
GoToSocial provides a lightweight, customizable, and safety-focused
|
||||
entryway into the Fediverse, and is comparable to (but distinct from)
|
||||
existing projects such as Mastodon, Pleroma, Friendica, and PixelFed.
|
||||
|
||||
WWW: https://docs.gotosocial.org/en/latest/
|
||||
36
net-im/gotosocial/pkg-plist
Normal file
36
net-im/gotosocial/pkg-plist
Normal file
@@ -0,0 +1,36 @@
|
||||
@sample etc/gotosocial/config.yaml.sample
|
||||
%%WWWDIR%%/assets/base.css
|
||||
%%WWWDIR%%/assets/colors.css
|
||||
%%WWWDIR%%/assets/Fork-Awesome/CONTRIBUTORS.md
|
||||
%%WWWDIR%%/assets/Fork-Awesome/css/fork-awesome.css
|
||||
%%WWWDIR%%/assets/Fork-Awesome/css/fork-awesome.min.css
|
||||
%%WWWDIR%%/assets/Fork-Awesome/css/fork-awesome.min.css.map
|
||||
%%WWWDIR%%/assets/Fork-Awesome/css/v5-compat.css
|
||||
%%WWWDIR%%/assets/Fork-Awesome/css/v5-compat.min.css
|
||||
%%WWWDIR%%/assets/Fork-Awesome/css/v5-compat.min.css.map
|
||||
%%WWWDIR%%/assets/Fork-Awesome/fonts/forkawesome-webfont.eot
|
||||
%%WWWDIR%%/assets/Fork-Awesome/fonts/forkawesome-webfont.svg
|
||||
%%WWWDIR%%/assets/Fork-Awesome/fonts/forkawesome-webfont.ttf
|
||||
%%WWWDIR%%/assets/Fork-Awesome/fonts/forkawesome-webfont.woff
|
||||
%%WWWDIR%%/assets/Fork-Awesome/fonts/forkawesome-webfont.woff2
|
||||
%%WWWDIR%%/assets/Fork-Awesome/LICENSES
|
||||
%%WWWDIR%%/assets/logo.png
|
||||
%%WWWDIR%%/assets/status.css
|
||||
%%WWWDIR%%/assets/tusky.svg
|
||||
%%WWWDIR%%/template/404.tmpl
|
||||
%%WWWDIR%%/template/authorize.tmpl
|
||||
%%WWWDIR%%/template/confirmed.tmpl
|
||||
%%WWWDIR%%/template/email_confirm_html.tmpl
|
||||
%%WWWDIR%%/template/email_confirm_text.tmpl
|
||||
%%WWWDIR%%/template/email_reset_html.tmpl
|
||||
%%WWWDIR%%/template/email_reset_text.tmpl
|
||||
%%WWWDIR%%/template/error.tmpl
|
||||
%%WWWDIR%%/template/footer.tmpl
|
||||
%%WWWDIR%%/template/header.tmpl
|
||||
%%WWWDIR%%/template/index.tmpl
|
||||
%%WWWDIR%%/template/sign-in.tmpl
|
||||
%%WWWDIR%%/template/status.tmpl
|
||||
%%WWWDIR%%/template/thread.tmpl
|
||||
bin/gotosocial
|
||||
share/doc/gotosocial/LICENSE
|
||||
share/doc/gotosocial/README.md
|
||||
Reference in New Issue
Block a user