BSD Ports

www/immich-public-proxy 4.1.1 FreeBSD

Share Immich photos and albums without exposing the server

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Port added
Last update
Commit
e51b5d2379
License
AGPLv3
Categories
www
Package size
2213.5 KiB, 14027.3 KiB installed

Description

Immich Public Proxy serves shared links from an Immich server without exposing the server itself to the internet. Only content that has been shared explicitly is reachable, and the proxy speaks to Immich over its API on the local network.

It listens on port 3000 by default and needs IMMICH_URL and PUBLIC_BASE_URL in its environment file.

In the other systems

SystemPortVersion
FreeBSDwww/immich-public-proxy4.1.1
HardenedBSDwww/immich-public-proxy3.4.0
GhostBSDwww/immich-public-proxy3.3.1

Install

Binary package:

pkg install immich-public-proxy

From the ports tree:

cd /usr/ports/www/immich-public-proxy/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	immich-public-proxy>0:www/immich-public-proxy

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest3.4.13.4.1--3.4.1
FreeBSD:14:quarterly3.4.03.4.0n/a-3.4.0
FreeBSD:15:latest3.4.13.4.1n/a--
FreeBSD:15:quarterly3.4.03.4.0n/an/an/a
FreeBSD:16:latest3.4.03.4.1n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 1

The full lists below include those, and their dependencies in turn.

Build dependencies 28
Run dependencies 19

No port depends on this one.

Configuration

No options to configure.

USES
nodejs:22,build,run
Service scripts
immich_public_proxy

Message after installing

Immich Public Proxy needs to know where your Immich server is and under
which address it is reached from the outside.  Put both into
/usr/local/etc/immich-public-proxy.env:

  IMMICH_URL=http://127.0.0.1:2283
  PUBLIC_BASE_URL=https://photos.example.org

Then enable and start it:

  sysrc immich_public_proxy_enable=YES
  service immich_public_proxy start

It listens on port 3000 by default; put a reverse proxy with TLS in front
of it.  Only links that were shared in Immich are served, the Immich
server itself stays unreachable from the internet.

Files

pkg-plist 3460
  • @sample(root,wheel,0600) etc/immich-public-proxy.env.sample
  • etc/newsyslog.conf.d/immich-public-proxy.conf
  • @sample www/immich-public-proxy/config.json.sample
  • www/immich-public-proxy/dist/gallery/builder.js
  • www/immich-public-proxy/dist/gallery/exif.js
  • www/immich-public-proxy/dist/gallery/filename.js
  • www/immich-public-proxy/dist/gallery/metadata.js
  • www/immich-public-proxy/dist/gallery/order.js
  • www/immich-public-proxy/dist/gallery/sizing.js
  • www/immich-public-proxy/dist/immich.js
  • www/immich-public-proxy/dist/index.js
  • www/immich-public-proxy/dist/invalidRequestHandler.js
  • www/immich-public-proxy/dist/share.js
  • www/immich-public-proxy/dist/shared/types.js
  • www/immich-public-proxy/dist/stream/asset.js
  • www/immich-public-proxy/dist/stream/download.js
  • www/immich-public-proxy/dist/types.js
  • www/immich-public-proxy/dist/version.js
  • www/immich-public-proxy/dist/view/gallery.js
  • www/immich-public-proxy/dist/view/home.js
  • www/immich-public-proxy/node_modules/.bin/crc32
  • www/immich-public-proxy/node_modules/.bin/glob
  • www/immich-public-proxy/node_modules/.bin/mime
  • www/immich-public-proxy/node_modules/.bin/node-which
  • www/immich-public-proxy/node_modules/.package-lock.json
  • www/immich-public-proxy/node_modules/@ipp/core/dist/config/access.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/config/access.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/config/loader.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/config/loader.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/encrypt.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/encrypt.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/http.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/http.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/immich/client.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/immich/client.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/immich/share.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/immich/share.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/index.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/index.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/invalidRequest.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/invalidRequest.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/session.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/session.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/types.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/types.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/log.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/log.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/sanitize.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/sanitize.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/text.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/text.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/ttlLruCache.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/ttlLruCache.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/webStream.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/utils/webStream.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/version.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/version.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/view/password.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/view/password.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/view/render.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/view/render.js
  • www/immich-public-proxy/node_modules/@ipp/core/dist/view/theme.d.ts
  • www/immich-public-proxy/node_modules/@ipp/core/dist/view/theme.js
  • www/immich-public-proxy/node_modules/@ipp/core/package.json
  • www/immich-public-proxy/node_modules/@ipp/core/public/favicon.ico
  • www/immich-public-proxy/node_modules/@ipp/core/public/fonts/inter-latin-wght-normal.woff2
  • www/immich-public-proxy/node_modules/@ipp/core/public/fonts/Inter-LICENSE.txt
  • www/immich-public-proxy/node_modules/@ipp/core/public/pico.min.css
  • www/immich-public-proxy/node_modules/@ipp/core/public/theme.css
  • www/immich-public-proxy/node_modules/@isaacs/cliui/build/index.cjs
  • www/immich-public-proxy/node_modules/@isaacs/cliui/build/index.d.cts
  • www/immich-public-proxy/node_modules/@isaacs/cliui/build/lib/index.js
  • www/immich-public-proxy/node_modules/@isaacs/cliui/index.mjs
  • www/immich-public-proxy/node_modules/@isaacs/cliui/LICENSE.txt
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/ansi-regex/index.d.ts
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/ansi-regex/license
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/ansi-regex/package.json
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/ansi-regex/readme.md
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/strip-ansi/index.d.ts
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/strip-ansi/license
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/strip-ansi/package.json
  • www/immich-public-proxy/node_modules/@isaacs/cliui/node_modules/strip-ansi/readme.md
  • www/immich-public-proxy/node_modules/@isaacs/cliui/package.json
  • www/immich-public-proxy/node_modules/@isaacs/cliui/README.md
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/.editorconfig
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/CHANGELOG.md
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/examples/is-default-value.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/examples/negate.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/index.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/internal/errors.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/internal/primordials.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/internal/util.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/internal/validators.js
  • www/immich-public-proxy/node_modules/@pkgjs/parseargs/LICENSE

The first 100 are listed.

distinfo 2
FileSizeSHA256
immich-public-proxy-freebsd-buildkit-4.1.1.tar.gz4.5570764e+072301c99e8b6af5390b8ac0307f8de891c79466f3c47eb7982faef0a464008448
alangrainger-immich-public-proxy-v4.1.1_GH0.tar.gz659024568ea233348af497b06f07d9f21c3d56eb92241982534c666a02b16f98729fbf
Master sites 1
  • https://github.com/joneum/FreeBSD-Immich/releases/download/ipp-v4.1.1/:buildkit

Commit history 5

DateCommitCreditsLog message
e51b5d2379 Jochen Neumeister www/immich-public-proxy: Update to 4.1.1
Changelog: https://github.com/alangrainger/immich-public-proxy/releases/tag/v4.1.1 Sponsored by: Netzkommune GmbH
ad3f86d8b3 Jochen Neumeister www/immich-public-proxy: Update to 3.4.1
- Long-press on a thumbnail enters selection mode on mobile. - Downloads work in Chrome and Edge when an album title or filename contains a comma. - Downloads are named after the format Immich actually serves. - One missing or broken video no longer stops a whole share from loading. - Password-protected shares send Cache-Control: no-store on gallery pages, photos and metadata. - allowSlugLinks: false now also blocks slug links on the selective download and metadata routes. Changes: https://github.com/alangrainger/immich-public-proxy/releases/tag/v3.4.1 Sponsored by: Netzkommune GmbH
dfa57d7641 Jochen Neumeister www/immich-public-proxy: Stop logging to syslog
The lines already go to /var/log/immich, which newsyslog rotates, and syslog repeated them under the tag "daemon". The process now carries its own name in ps. Differential Revision: https://reviews.freebsd.org/D60277 Sponsored by: Netzkommune GmbH
612088429e Jochen Neumeister www/immich-public-proxy: Update to 3.4.0
Sponsored by: Netzkommune GmbH
46809c999e Jochen Neumeister www/immich-public-proxy: Add New Port
Immich Public Proxy serves shared links from an Immich server without exposing the server itself to the internet. Only content that has been shared explicitly is reachable, and the proxy speaks to Immich over its API on the local network. WWW: https://github.com/alangrainger/immich-public-proxy Sponsored by: Netzkommune GmbH