docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
javinizer:
# Option 1: Pull pre-built image (recommended for end users)
# Use 'latest' for most recent release, or pin to specific version (e.g., 'v0.1.1-alpha')
# Available tags: https://github.com/javinizer/javinizer-go/pkgs/container/javinizer-go
image: ghcr.io/javinizer/javinizer-go:latest
# Option 2: Build locally (for developers)
# Uncomment the 'build' section below and comment out 'image' above to build from source
# build:
# context: .
# dockerfile: Dockerfile
# args:
# - USER_ID=${PUID:-${USER_ID:-1000}}
# - GROUP_ID=${PGID:-${GROUP_ID:-1000}}
container_name: javinizer
hostname: javinizer
restart: unless-stopped
env_file:
- .env
ports:
# Container-side port: defaults to 8765. Set CONTAINER_PORT=8080 in .env
# if upgrading from a release that persisted server.port=8080 in config.yaml.
- "${HOST_PORT:-8765}:${CONTAINER_PORT:-8765}"
volumes:
# Application state (config, database, logs, cache)
- ./data:/javinizer
# JAV files for sorting (read-write for organize operations)
- ${MEDIA_PATH:-/path/to/your/jav-library}:/media
# UPDATED environment variables
environment:
# Application home directory
- JAVINIZER_HOME=/javinizer
# Configuration file location
- JAVINIZER_CONFIG=/javinizer/config.yaml
# Database location
- JAVINIZER_DB=/javinizer/javinizer.db
# Log directory (applies only when logging.output includes a file target)
- JAVINIZER_LOG_DIR=/javinizer/logs
# Temp directory for file processing
- JAVINIZER_TEMP_DIR=/javinizer/temp
# Log level (optional: debug, info, warn, error)
# Uncomment to override config.yaml
# - LOG_LEVEL=${LOG_LEVEL:-info}
# File creation mask (optional: 002, 022, etc.)
# 002 = rwxrwxr-x (group can write)
# 022 = rwxr-xr-x (only owner can write)
# Uncomment to override config.yaml
# - UMASK=${UMASK:-002}
# Timezone
- TZ=${TZ:-UTC}
# Trusted CIDRs for /auth/setup access (Docker bridge gateway)
# Without this, setup is only available from localhost inside the container
- JAVINIZER_SETUP_TRUSTED_CIDRS=${JAVINIZER_SETUP_TRUSTED_CIDRS:-172.16.0.0/12}
healthcheck:
test: ["CMD", "wget", "--method=GET", "-O", "/dev/null", "-q", "http://localhost:${CONTAINER_PORT:-8765}/health"]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s
# Optional: Development profile
javinizer-dev:
build:
context: .
dockerfile: Dockerfile
args:
- USER_ID=${PUID:-${USER_ID:-1000}}
- GROUP_ID=${PGID:-${GROUP_ID:-1000}}
profiles: ["dev"]
hostname: javinizer-dev
env_file:
- .env
ports:
# Container-side port: defaults to 8765. Set CONTAINER_PORT=8080 in .env
# if upgrading from a release that persisted server.port=8080 in config.yaml.
- "${HOST_PORT:-8765}:${CONTAINER_PORT:-8765}"
volumes:
- ./data:/javinizer
- ${MEDIA_PATH:-/path/to/your/jav-library}:/media
# Mount frontend source for live development
- ./web/frontend:/app/web/frontend
environment:
- JAVINIZER_DEV_MODE=${JAVINIZER_DEV_MODE:-true}
- VITE_API_URL=${VITE_API_URL:-http://localhost:${HOST_PORT:-8765}}
- JAVINIZER_HOME=/javinizer
- JAVINIZER_CONFIG=/javinizer/config.yaml
- JAVINIZER_DB=/javinizer/javinizer.db
- JAVINIZER_LOG_DIR=/javinizer/logs
- JAVINIZER_TEMP_DIR=/javinizer/temp
- LOG_LEVEL=${LOG_LEVEL:-debug}
- UMASK=${UMASK:-002}
- TZ=${TZ:-UTC}
# Optional: FlareSolverr for Cloudflare-protected sources (e.g., JavDB/JavLibrary)
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: unless-stopped
ports:
- "${FLARESOLVERR_HOST_PORT:-8191}:8191"
environment:
- LOG_LEVEL=${FLARESOLVERR_LOG_LEVEL:-info}
- LOG_HTML=${FLARESOLVERR_LOG_HTML:-false}
- CAPTCHA_SOLVER=${FLARESOLVERR_CAPTCHA_SOLVER:-none}
- TZ=${TZ:-UTC}