hits / env.example
Sugamdeol's picture
Upload 31 files
44b5a51 verified
Raw
History Blame Contribute Delete
4.71 kB
# Copy to .env and fill in your access keys.
# -----------------------------------------------------------------------------
# 9Hits Viewer - access key from https://panel.9hits.com/user/profile
ACCESS_KEY=
# --- 9Hits viewer on/off ---
# 9Hits is OFF by default so a bare deploy is conservative. To run BOTH
# viewers on a small free instance (Render 512 MB, Koyeb nano), set:
# NINEHITS_ENABLED=yes
# FEELINGSURF_ENABLED=yes (default)
# DUAL_VIEWER_MODE=auto (see below - this is what stops the OOM)
# and let LOW_MEMORY + memguard shrink/guard/alternate the two viewers.
NINEHITS_ENABLED=no
# --- 512MB dual-viewer management (runs BOTH viewers WITHOUT OOM) -----------
# Run BOTH viewers AT THE SAME TIME on a 512 MB instance (Render free):
# NINEHITS_ENABLED=yes
# FEELINGSURF_ENABLED=yes
# DUAL_VIEWER_MODE=concurrent # always run both, never time-slice
# LOW_MEMORY=extreme # both viewers --single-process (~324 MB pair)
# Measured with a real Chromium 149: the extreme pair is ~324 MB, so both fit
# comfortably. Safety nets (details in README):
# * memguard.py restarts the heaviest viewer at MEMGUARD_HARD_PCT (97%)
# of the budget so the platform never OOM-kills the container.
# * Crash auto-fallback: if a viewer crash-loops 3x at startup under
# single-process, its SP flags are dropped automatically (NH_SP=no /
# FS_SP=no force that). If FeelingSurf fails under swiftshader+SP, set
# FS_GL_MODE=disable-gpu.
# * DUAL_VIEWER_MODE=auto still works: escalates to time-slice only if the
# box truly cannot fit both.
DUAL_VIEWER_MODE=concurrent
TIME_SLICE=1500 # seconds per viewer turn in time-slice (25 min)
LOW_MEMORY=extreme # auto | off | balanced | extreme
NH_SP=yes # single-process for 9Hits (extreme mode)
FS_SP=yes # single-process for FeelingSurf (extreme mode)
FS_GL_MODE=swiftshader # swiftshader | disable-gpu (last resort)
# MEMGUARD_LIMIT_MB=512 # force the budget (render.yaml sets 512);
# # 0 = auto-detect cgroup limit / MemTotal
# MEMGUARD_HARD_PCT=97 # % of budget at which memguard restarts the
# # heaviest viewer (default 97 on small boxes)
# CREATE_SWAP=256M # best-effort swap where swapon is allowed
# NH_RUN_EXTRA_ARGS=--hide-columns=quality,points # run-pass-only 9Hits flags
# FS_EXTRA_FLAGS= # extra FeelingSurf flags (appended last)
# --- 9Hits proxy settings (choose Option A, A+, or B) ---
# Option A: Static proxy list (5-6 sessions recommended for 512 MB free tier)
#BULK_ADD_PROXY_TYPE=socks5
#BULK_ADD_PROXY_LIST=1.2.3.4:1080;user;pass|1.2.3.5:1080;user;pass|1.2.3.6:1080;user;pass|1.2.3.7:1080;user;pass|1.2.3.8:1080;user;pass
# Option A+: Fetch proxy list on startup (e.g. Webshare download URL)
#BULK_ADD_PROXY_LIST_URL=https://proxy.webshare.io/api/v2/proxy/list/download/TOKEN/-/any/username/direct/-/
# Option B: External proxy pool (configured at https://dash.9hits.com/pool)
#EX_PROXY_SESSIONS=5
#EX_PROXY_URL=https://dash.9hits.com/pool/YOUR_POOL_KEY
# --- 9Hits viewer settings (see README.md for the full list) ---
CLEAR_ALL_SESSIONS=yes
SYSTEM_SESSION=no
SESSION_NOTE=my-proxies
HIDE_BROWSER=yes
ALLOW_POPUPS=no
ALLOW_ADULT=no
ALLOW_CRYPTO=no
CACHE_LIMIT=0
RESET_INTERVAL=2h
NOTE=local
#EXTRA_ARGS=--hide-columns=quality,points
# --- 9Hits runtime tuning (usually no need to change) ---
# The viewer is baked into the image at build time; DEFAULT_DL swaps it at start.
#DEFAULT_DL=https://dl.9hits.com/9hitsv6-linux64.tar.bz2
#INIT_TIMEOUT=300 # max seconds for one config "init pass"
#NH_WATCHDOG=yes # restart a wedged viewer (no output AND no CPU)
#NH_WATCHDOG_STUCK=600 # seconds of silence before the watchdog engages
#NH_RESOLUTION=auto # Xvfb resolution, e.g. 1920x1080x24
#NH_DISPLAY=:99 # X display for 9Hits (FeelingSurf uses :98)
#VNC=yes # mirror the 9Hits display with x11vnc (port 5901)
#VNC_PW=change-me
# -----------------------------------------------------------------------------
# FeelingSurf Viewer - access token from https://www.feelingsurf.fr/member
# (Profile / API token / Your access token). The default combined deployment
# starts FeelingSurf together with 9Hits. Set FEELINGSURF_ENABLED=no to disable it.
#
# Equivalent to the official quick start:
# docker run -d \
# -e access_token=$ACCESS_TOKEN \
# --tmpfs /tmp \
# --tmpfs /dev/shm \
# feelingsurf/viewer:stable
ACCESS_TOKEN=
# Run both viewers by default in the one combined container.
FEELINGSURF_ENABLED=yes