-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.env.example
More file actions
74 lines (66 loc) · 3.71 KB
/
Copy path.env.example
File metadata and controls
74 lines (66 loc) · 3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Leave FABRICATOR_SKIP_JAVA_CHECK disabled in production.
FABRICATOR_SKIP_JAVA_CHECK=0
# Network binding. Default is loopback-only.
# Set HOST=0.0.0.0 only when running behind a trusted reverse proxy.
HOST=127.0.0.1
PORT=5000
# CORS allowlist. Must be a comma-separated list of concrete origins.
# Wildcard '*' is rejected to prevent CSRF against destructive endpoints.
CORS_ORIGINS=http://localhost:3000
# Max size (bytes) of an uploaded world archive for the Backups → Import world
# feature. Enforced while streaming so an oversize upload never lands fully on
# disk. Default 10 GiB. If you front Fabricator with a reverse proxy, also raise
# its body limit (e.g. nginx `client_max_body_size`) or it will cap large worlds
# before Flask sees them.
# FABRICATOR_MAX_WORLD_UPLOAD_BYTES=10737418240
# playit.gg tunnel agent. Set to "true" to launch the playit agent automatically
# on startup. When enabled, the agent exposes a public tunnel address through
# playit.gg so the server is reachable without port-forwarding.
PLAYIT_ENABLED=false
# Configure python to use unbuffered logs. This allows python to stream logs to
# stdout so they get picked up by the docker logs command when running Fabricator
# in a container. The default value is 1, so most users will not need to change
# this when running Fabricator in Docker.
# If this variable is set to PYTHONUNBUFFERED=0, then fabricator logs will not be
# streamed to stdout. Logs will be periodically flushed to stdout, but admins
# will not be able to view the logs in real time, and any buffered logs will be lost
# if the container is stopped.
PYTHONUNBUFFERED=1
# --- Built-in panel authentication ---
# Auth is ON by default. On first boot with no credential the app starts in a
# locked SETUP MODE and serves a one-time setup page where you set the operator
# password in the browser — same on Linux, Docker and the Windows .exe, no
# terminal needed. The setup page is the default onboarding; everything below is
# the advanced / declarative override.
#
# Precedence: password = env hash > persisted file (auth.json, written by the
# setup page) > setup mode. SECRET_KEY = env > persisted file > auto-generated on
# first boot. auth.json (0600) lives next to servers.json (/var/lib/fabricator
# under systemd).
#
# Session signing key. Leave UNSET to auto-generate + persist it on first boot.
# Set it only to pin a fixed key, e.g.
# python -c "import secrets; print(secrets.token_hex(32))"
# SECRET_KEY=
# Operator password HASH (declarative override — skips the setup page).
# Recommended on untrusted networks instead of the open first-boot setup page
# (trust-on-first-use: until a password is set, whoever reaches the panel first
# can set it). Generate with:
# fabricator hash-password (systemd install)
# python -m backend.auth hash (Docker / running from source)
# FABRICATOR_AUTH_PASSWORD_HASH=
# Set to 1/true/yes to run WITHOUT the built-in login (e.g. behind your own
# reverse-proxy auth). This is the only way to disable auth. Default: enabled.
# FABRICATOR_DISABLE_AUTH=0
# Set to 1 to mark the session cookie Secure (only when TLS-terminated in front
# of Fabricator). Default off because the panel itself serves plain HTTP.
# FABRICATOR_SESSION_COOKIE_SECURE=0
# --- Managed-hosting mode (third-party operators only) ---
# Set to 1/true/yes to lock deployment-owned controls: server creation,
# RAM/JVM/java-path, playit tunnels, local backups and the self-update probe.
# Self-hosters leave this unset — the panel behaves exactly as documented above.
# Default: off.
# FABRICATOR_MANAGED=0
# When managed, every server's JVM heap is pinned to this whole-GB value; a
# managed server refuses to start if it is unset or not a positive integer.
# FABRICATOR_MANAGED_MEMORY_GB=