docker-compose.yml
Rama main · réplica de lectura del repositorio original.
# Minimal getting-started setup: run "docker compose up -d", then open
# localhost:3001 (or http://<server-ip>:3001 from any device on your network).
# Hardened variants (log rotation, healthchecks, Traefik reverse proxy
# with HTTPS) live in docker/compose/ - see docker/compose/README.md.
services:
imgcompress:
image: karimz1/imgcompress:latest
container_name: imgcompress
restart: always
ports:
- "3001:5000"
environment:
# Set to true to remove the mascot and enable a minimal, mascot-free UI
- DISABLE_LOGO=false
# Optional: largest upload per file in MB, also for editor pictures. Default 40960 (40 GB) for big PSD/PDF files; remove the line to keep it.
# For a public instance, use a smaller limit like 1 GB (1024).
- MAX_UPLOAD_SIZE_MB=40960
# Optional: number of web workers. Default "auto" = one per CPU core. Lower it on small machines to save RAM.
# - WEB_WORKERS=2
# Set to true to disable the storage management features (e.g., for your users to not see all the files)
- DISABLE_STORAGE_MANAGEMENT=false
# Set to true to turn off the update check: the browser then stops asking GitHub (api.github.com) for the latest release, and no update banner is shown
- DISABLE_UPDATE_CHECK=false
# Optional: "Notify me when done" (opt-in per job). Apprise URL the container
# sends a short message to when a job finishes: image count and device/browser,
# never file names or images. Default: not set = feature off, switch hidden.
# Example for the optional ntfy service below:
# - NOTIFY_URL=ntfy://ntfy/imgcompress
# Optional: the address users open ImgCompress at. The message then links
# to the result (a secret for that one job), so it downloads on any device;
# keep the ntfy topic private. ImgCompress never guesses it from a request
# (the Host header can be faked), so set it yourself. Must be http(s),
# without user/password; an invalid value is ignored with a warning.
# Default: not set = no link in the message. Example:
# - PUBLIC_BASE_URL=http://192.168.1.10:3001
# Optional: container clock for "Link expires …" in notify messages (no app-specific time setting).
# - TZ=Europe/Berlin
healthcheck:
test: ["CMD", "python", "/container/healthcheck.py"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Optional: ntfy, self-hosted push notifications (https://ntfy.sh).
# Why: long jobs such as AI upscaling can take minutes. With ntfy you can close
# the tab and get a message on your phone or desktop when the job is done.
# How: uncomment this service and NOTIFY_URL above, then subscribe to the
# topic "imgcompress" in the ntfy app (iOS, Android, web).
# iPhone: NTFY_UPSTREAM_BASE_URL lets ntfy.sh wake the iOS app; the message
# itself is fetched from this server, so away from home you need a VPN
# (e.g. WireGuard, Tailscale). Full guide: docker/compose/homelab-traefik-ntfy/
# ntfy:
# image: binwiederhier/ntfy:latest
# container_name: ntfy
# restart: always
# command: serve
# ports:
# - "8080:80"
# environment:
# # Address your phone uses to reach this ntfy server.
# - NTFY_BASE_URL=http://192.168.1.10:8080
# - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh