diff --git a/install.zsh b/install.zsh index 183a71f..7b898de 100755 --- a/install.zsh +++ b/install.zsh @@ -214,6 +214,16 @@ function at-repos-social-app-disable-external-services-patch() { popd } +function at-repos-atproto-service-ozone-api-patch() { + f=$d/repos/atproto/services/ozone/api.js + d_=$d/repos/atproto + p_=$d/patching/130-atproto-ozone-enable-daemon.patch + echo "applying patch: under ${f} for ${p_}" + pushd ${d_} + patch -p1 < ${p_} + popd +} + function at-repos-ozone-patch() { #DOMAIN=syu.is cd $d/repos @@ -264,9 +274,9 @@ function at-repos-push-reset() { function at-repos-push-docker() { if [ -z "$1" ];then for ((i=1; i<=${#img}; i++)); do - img=${imgs[$i]} - docker tag at-${img}:latest localhost:${dport}/${img}:latest - docker push localhost:${dport}/${img}:latest + img_name=${img[$i]} + docker tag at-${img_name}:latest localhost:${dport}/${img_name}:latest + docker push localhost:${dport}/${img_name}:latest done else docker tag at-${1}:latest localhost:${dport}/${1}:latest @@ -301,6 +311,7 @@ case "`cat /etc/hostname`" in at-repos-social-app-disable-external-services-patch at-repos-atproto-service-bsky-api-patch at-repos-atproto-service-pds-index-patch + at-repos-atproto-service-ozone-api-patch at-repos-ozone-patch if [ -n "$1" ];then at-repos-build-docker-atproto $1 @@ -313,4 +324,3 @@ case "`cat /etc/hostname`" in ;; esac - diff --git a/patching/130-atproto-ozone-enable-daemon.patch b/patching/130-atproto-ozone-enable-daemon.patch new file mode 100644 index 0000000..7a10d3d --- /dev/null +++ b/patching/130-atproto-ozone-enable-daemon.patch @@ -0,0 +1,33 @@ +--- a/services/ozone/api.js ++++ b/services/ozone/api.js +@@ -20,6 +20,7 @@ const { + MultiImageInvalidator, + } = require('@atproto/aws') + const { + Database, + OzoneService, ++ OzoneDaemon, + envToCfg, + envToSecrets, + httpLogger, +@@ -76,10 +77,17 @@ const main = async () => { + const ozone = await OzoneService.create(cfg, secrets, { imgInvalidator }) + + await ozone.start() + + httpLogger.info('ozone is running') + ++ // Start OzoneDaemon for label events ++ httpLogger.info('starting ozone daemon') ++ const daemon = await OzoneDaemon.create(cfg, secrets) ++ await daemon.start() ++ httpLogger.info('ozone daemon is running') ++ + // Graceful shutdown (see also https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/) + process.on('SIGTERM', async () => { + httpLogger.info('ozone is stopping') + ++ await daemon.destroy() + await ozone.destroy() + + httpLogger.info('ozone is stopped')