Immich-ml
Machine learning service for Immich photo management providing face recognition, image classification, and smart search.
Note: This is just one component of Immich. For the complete setup (compose, configuration, etc.), see the Daemonless Immich Stack.
Quick Start
Environment Variables
| Variable |
Description |
Default |
PUID |
User ID for the application process |
1000 |
PGID |
Group ID for the application process |
1000 |
TZ |
Timezone for the container |
UTC |
S6_LOG_ENABLE |
Enable/Disable file logging |
1 |
S6_LOG_MAX_SIZE |
Max size per log file (bytes) |
1048576 |
S6_LOG_MAX_FILES |
Number of rotated log files to keep |
10 |
MACHINE_LEARNING_HOST |
Listen address |
0.0.0.0 |
MACHINE_LEARNING_PORT |
Service port |
3003 |
MACHINE_LEARNING_CACHE_FOLDER |
Model cache directory |
/cache |
Logging
This image uses s6-log for internal log rotation.
- System Logs: Captured from console and stored at /config/logs/daemonless/immich-ml/.
- Application Logs: Managed by the app and typically found in /config/logs/.
- Podman Logs: Output is mirrored to the console, so podman logs still works.
Volumes
| Path |
Description |
/config |
Configuration directory |
/cache |
Model cache (downloads ML models on first run) |
Ports
| Port |
Description |
| 3003 |
ML API |
Notes
- User:
bsd (UID/GID set via PUID/PGID, default 1000)
- Base: Built on
ghcr.io/daemonless/base (FreeBSD)
- CPU Only: Hardware acceleration (GPU/NPU) is not available on FreeBSD yet.
Links