Files
2026-10-04 04:07:15 +00:00

65 lines
1.9 KiB
Makefile

PORTNAME= immich-public-proxy
DISTVERSIONPREFIX= v
DISTVERSION= 3.4.0
CATEGORIES= www
MASTER_SITES= https://github.com/joneum/FreeBSD-Immich/releases/download/ipp-v${DISTVERSION}/:buildkit
DISTFILES= ${PORTNAME}-freebsd-buildkit-${DISTVERSION}${EXTRACT_SUFX}:buildkit
MAINTAINER= joneum@FreeBSD.org
COMMENT= Share Immich photos and albums without exposing the server
WWW= https://github.com/alangrainger/immich-public-proxy
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${LOCALBASE}/bin/npm:www/npm-node22
USES= nodejs:22,build,run
USE_GITHUB= yes
GH_ACCOUNT= alangrainger
USE_RC_SUBR= immich_public_proxy
# The buildkit distfile carries the npm cache, so that the build needs no
# network. It is made by unpacking the release tarball and running
# cd app && npm ci --cache <kit>/npm-cache --ignore-scripts
BUILDKIT= ${WRKDIR}/${PORTNAME}-freebsd-buildkit-${DISTVERSION}
MAKE_ENV= CI=1
SUB_FILES= pkg-message
SUB_LIST= NODE=${LOCALBASE}/bin/node
USERS= immich
GROUPS= immich
NO_ARCH= yes
do-build:
cd ${WRKSRC}/app && ${SETENV} ${MAKE_ENV} \
${LOCALBASE}/bin/npm ci --offline --ignore-scripts \
--cache ${BUILDKIT}/npm-cache
cd ${WRKSRC}/app && ${SETENV} ${MAKE_ENV} \
${LOCALBASE}/bin/npm run build
cd ${WRKSRC}/app && ${SETENV} ${MAKE_ENV} \
${LOCALBASE}/bin/npm prune --omit=dev --offline \
--cache ${BUILDKIT}/npm-cache
do-install:
${INSTALL_DATA} ${FILESDIR}/immich-public-proxy.env.sample \
${STAGEDIR}${PREFIX}/etc/
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d
${INSTALL_DATA} ${FILESDIR}/newsyslog-immich-public-proxy.conf \
${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/immich-public-proxy.conf
${MKDIR} ${STAGEDIR}${WWWDIR}
cd ${WRKSRC}/app && ${PAX} -rw dist node_modules public \
package.json ${STAGEDIR}${WWWDIR}
${INSTALL_DATA} ${WRKSRC}/app/config.json \
${STAGEDIR}${WWWDIR}/config.json.sample
post-install:
@${FIND} ${STAGEDIR}${WWWDIR} -depth -type d -empty -delete
.include <bsd.port.mk>