79 lines
2.4 KiB
YAML
79 lines
2.4 KiB
YAML
services:
|
|
photosync-mover:
|
|
image: alpine:3.19
|
|
container_name: photosync-mover
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- INBOX=/inbox
|
|
- DROP=/drop
|
|
- STABLE_FOR=${STABLE_FOR:-5}
|
|
- SCAN_FALLBACK=${SCAN_FALLBACK:-60}
|
|
- PUID=${PUID:-1000}
|
|
- PGID=${PGID:-1000}
|
|
volumes:
|
|
- ${INBOX}:/inbox:rw
|
|
- ${DROP}:/drop:rw
|
|
- ./move_stable.sh:/scripts/move_stable.sh:ro
|
|
networks:
|
|
- npm-network
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
set -e
|
|
apk add --no-cache inotify-tools coreutils su-exec >/dev/null
|
|
exec su-exec "$${PUID}:$${PGID}" /scripts/move_stable.sh
|
|
|
|
photosync-uploader:
|
|
image: alpine:3.19
|
|
container_name: photosync-uploader
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- photosync-mover
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- IMMICH_URL=${IMMICH_URL}
|
|
- IMMICH_API_KEY=${IMMICH_API_KEY}
|
|
- IMMICH_GO_VERSION=${IMMICH_GO_VERSION:-0.31.0}
|
|
- SCAN_DIR=/drop
|
|
- SCAN_INTERVAL=${UPLOAD_SCAN_INTERVAL:-5}
|
|
- CONCURRENCY=${UPLOAD_CONCURRENCY:-4}
|
|
- IDLE_SLEEP=${UPLOAD_IDLE_SLEEP:-3}
|
|
- DELETE_ON_SUCCESS=${DELETE_ON_SUCCESS:-true}
|
|
- ALLOW_INSECURE_SSL=${ALLOW_INSECURE_SSL:-false}
|
|
- PUID=${PUID:-1000}
|
|
- PGID=${PGID:-1000}
|
|
- XDG_CACHE_HOME=/tmp/immich-cache
|
|
- HOME=/tmp
|
|
volumes:
|
|
- ${DROP}:/drop:rw
|
|
- ./uploader.sh:/scripts/uploader.sh:ro
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
set -e
|
|
apk add --no-cache curl ca-certificates su-exec tar >/dev/null
|
|
arch="$$(uname -m)"
|
|
case "$$arch" in
|
|
x86_64) arch="x86_64" ;;
|
|
aarch64) arch="arm64" ;;
|
|
arm64) arch="arm64" ;;
|
|
*) echo "Unsupported architecture: $$arch"; exit 1 ;;
|
|
esac
|
|
url="https://github.com/simulot/immich-go/releases/download/v$${IMMICH_GO_VERSION}/immich-go_Linux_$${arch}.tar.gz"
|
|
echo "[uploader] Downloading immich-go $${IMMICH_GO_VERSION} for $$arch"
|
|
tmp="$$(mktemp -d)"
|
|
curl -fsSL "$$url" -o "$$tmp/immich-go.tar.gz"
|
|
tar -xzf "$$tmp/immich-go.tar.gz" -C "$$tmp"
|
|
install -m 0755 "$$tmp/immich-go" /usr/local/bin/immich-go
|
|
rm -rf "$$tmp"
|
|
exec su-exec "$${PUID}:$${PGID}" /scripts/uploader.sh
|
|
networks:
|
|
- npm-network
|
|
|
|
networks:
|
|
npm-network:
|
|
external: true
|