58 lines
2.0 KiB
YAML
58 lines
2.0 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}
|
|
volumes:
|
|
- ${INBOX}:/inbox:rw
|
|
- ${DROP}:/drop:rw
|
|
- ./move_stable.sh:/scripts/move_stable.sh:ro
|
|
entrypoint: ["/bin/sh","-c","apk add --no-cache inotify-tools coreutils >/dev/null && chmod +x /scripts/move_stable.sh && exec /scripts/move_stable.sh"]
|
|
user: "${PUID:-1000}:${PGID:-1000}"
|
|
|
|
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}
|
|
- IDLE_SLEEP=${UPLOAD_IDLE_SLEEP:-3}
|
|
- CONCURRENCY=${UPLOAD_CONCURRENCY:-4}
|
|
- DELETE_ON_SUCCESS=${DELETE_ON_SUCCESS:-true}
|
|
- ALLOW_INSECURE_SSL=${ALLOW_INSECURE_SSL:-false}
|
|
volumes:
|
|
- ${DROP}:/drop:rw
|
|
- ./uploader.sh:/scripts/uploader.sh:ro
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
set -e
|
|
apk add --no-cache curl ca-certificates >/dev/null
|
|
arch="$$(uname -m)"
|
|
case "$$arch" in
|
|
x86_64) arch="amd64" ;;
|
|
aarch64) 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}"
|
|
echo "[uploader] Downloading immich-go $${IMMICH_GO_VERSION} for $$arch"
|
|
curl -fsSL -o /usr/local/bin/immich-go "$$url"
|
|
chmod +x /usr/local/bin/immich-go
|
|
chmod +x /scripts/uploader.sh
|
|
exec /scripts/uploader.sh
|
|
user: "${PUID:-1000}:${PGID:-1000}"
|