Recently Written · git

subplz-web

git clone https://github.com/equwal/subplz-web

Log | Files | Refs


.env.example (4159 bytes)

1 # Copy to .env and edit. Every value has a working localhost default,
2 # so an empty .env is a valid config.
3 
4 # --- alignment -------------------------------------------------------------
5 # Which backend does the aligning. See backend/aligner.py to add another.
6 SUBPLZ_WEB_ALIGNER=subplz
7 # tiny is what upstream recommends for audiobooks: the transcript only needs to
8 # be good enough to line up against text you already have.
9 SUBPLZ_WEB_MODEL=tiny
10 # cpu | cuda
11 SUBPLZ_WEB_DEVICE=cpu
12 # 0 = use (CPU count - 1)
13 SUBPLZ_WEB_THREADS=0
14 SUBPLZ_WEB_JOB_TIMEOUT_SECONDS=21600
15 
16 # --- match check -----------------------------------------------------------
17 # Transcribe a few short samples on upload and score them against the book,
18 # so a mismatched pair is caught in seconds instead of after a full run.
19 SUBPLZ_WEB_MATCH_CHECK=true
20 
21 # --- video -----------------------------------------------------------------
22 # Render a YouTube-ready MP4: cover image + audio + soft subtitle track.
23 SUBPLZ_WEB_RENDER_VIDEO=true
24 SUBPLZ_WEB_VIDEO_WIDTH=1920
25 SUBPLZ_WEB_VIDEO_HEIGHT=1080
26 # 1 fps is the minimum YouTube accepts and all a still image needs.
27 SUBPLZ_WEB_VIDEO_FPS=1
28 # "auto" probes the H.264 encoders this ffmpeg build can actually run.
29 # Force one with libx264 / h264_nvenc / h264_amf / h264_qsv / libopenh264.
30 SUBPLZ_WEB_VIDEO_ENCODER=auto
31 SUBPLZ_WEB_VIDEO_CRF=28
32 
33 # --- queue -----------------------------------------------------------------
34 # memory = run jobs in this process. redis = hand them to worker.py processes.
35 SUBPLZ_WEB_QUEUE_BACKEND=memory
36 SUBPLZ_WEB_MAX_CONCURRENT_JOBS=1
37 # SUBPLZ_WEB_REDIS_URL=redis://localhost:6379/0
38 
39 # --- storage ---------------------------------------------------------------
40 # local = under ./data. s3 = a bucket, with presigned download URLs.
41 SUBPLZ_WEB_STORAGE_BACKEND=local
42 # SUBPLZ_WEB_S3_BUCKET=subplz-artifacts
43 # SUBPLZ_WEB_S3_PREFIX=jobs/
44 # SUBPLZ_WEB_DOWNLOAD_URL_TTL_SECONDS=3600
45 
46 # --- database --------------------------------------------------------------
47 # Empty = SQLite under ./data. Set a Postgres URL for the public release.
48 # SUBPLZ_WEB_DATABASE_URL=postgresql+psycopg://user:pass@host/subplz
49 
50 # --- billing ---------------------------------------------------------------
51 # Off for localhost: nothing is locked and nothing is for sale.
52 # On: a conversion in the visitor's browser stays free, without limit. A
53 # conversion on this server's hardware takes one credit.
54 SUBPLZ_WEB_BILLING_ENABLED=false
55 # True when fast conversion on this server's hardware is on offer. While it is
56 # false the page sells nothing, whatever BILLING_ENABLED says.
57 SUBPLZ_WEB_CLOUD_ENABLED=false
58 # Where customers write to. Shown on /terms.html.
59 SUBPLZ_WEB_CONTACT_EMAIL=
60 # How long the server keeps a visitor's files (see backend/retention.py).
61 SUBPLZ_WEB_INPUT_RETENTION_HOURS=24
62 SUBPLZ_WEB_ARTIFACT_RETENTION_DAYS=7
63 
64 # --- accounts & payments ---------------------------------------------------
65 # The origin users reach this on. Sign-in links and Stripe return URLs use it.
66 # SUBPLZ_WEB_PUBLIC_BASE_URL=https://subread.space
67 # Send the identity cookie over HTTPS only. Set true on any public deployment.
68 # SUBPLZ_WEB_COOKIE_SECURE=true
69 # Shown on the Stripe payment page.
70 # SUBPLZ_WEB_SITE_NAME=SubRead
71 
72 # Stripe. Do not type these into a shell - use tools/set-secret.sh, which
73 # prompts with input hidden and keeps them out of your history.
74 # SUBPLZ_WEB_STRIPE_SECRET_KEY=
75 # SUBPLZ_WEB_STRIPE_WEBHOOK_SECRET=
76 
77 # Sign-in links go out over SMTP, so any provider works. With no host set,
78 # sign-in is unavailable: there would be no safe way to deliver the link.
79 # SUBPLZ_WEB_SMTP_HOST=smtp.example.com
80 # SUBPLZ_WEB_SMTP_PORT=587
81 # SUBPLZ_WEB_SMTP_USER=
82 # SUBPLZ_WEB_SMTP_PASSWORD=
83 # SUBPLZ_WEB_SMTP_FROM=SubRead <login@subread.space>
84 # Development only: return the sign-in link in the API response instead of
85 # mailing it. This signs anyone in as any address - never set it in public.
86 # SUBPLZ_WEB_DEV_LOGIN_LINKS=true
87 # Override the plan catalogue (see backend/pricing.py for the shape).
88 # SUBPLZ_WEB_PLANS_JSON=[...]
89 
90 # --- uploads ---------------------------------------------------------------
91 SUBPLZ_WEB_MAX_UPLOAD_BYTES=2147483648