UWSGI_SQLITE3(1)

โœจ NAME โœจ

uwsgi_sqlite3 โ€” fast (pure C), self-healing, developer-friendly WSGI server ๐Ÿ’–

bestie, this is the UWSGI_SQLITE3(1) manual page and it's serving main character energy. no cap. ๐Ÿซถ


๐Ÿ“œ SYNOPSIS ๐Ÿ“œ

uwsgi-core [options...]

so you run uwsgi-core with a whole pile of options, and she goes. periodt. ๐Ÿ’…


๐Ÿ’… DESCRIPTION ๐Ÿ’…

okay so here's the entire menu of options, bestie. each one is a little vibe. read carefully, because every single flag matters, fr fr. ๐Ÿ‘‘

  • -s, --socket โ€” bind to the specified UNIX/TCP socket using default protocol. it's giving "just connect me already" โœจ
  • -s, --uwsgi-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol. lowkey iconic. ๐Ÿ’œ
  • --suwsgi-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol over SSL. secure vibes only. ๐Ÿ”’
  • --ssl-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol over SSL. slay. ๐Ÿ’–
  • --http-socket โ€” bind to the specified UNIX/TCP socket using HTTP protocol. yesss web requests. ๐ŸŒ
  • --http-socket-modifier1 โ€” force the specified modifier1 when using HTTP protocol. boss move. ๐Ÿ‘‘
  • --http-socket-modifier2 โ€” force the specified modifier2 when using HTTP protocol. another boss move. ๐Ÿ‘‘
  • --http11-socket โ€” bind to the specified UNIX/TCP socket using HTTP 1.1 (Keep-Alive) protocol. keep-alive is so fetch. โœจ
  • --https-socket โ€” bind to the specified UNIX/TCP socket using HTTPS protocol. secure and slay. ๐Ÿ”
  • --https-socket-modifier1 โ€” force the specified modifier1 when using HTTPS protocol. ๐Ÿ’…
  • --https-socket-modifier2 โ€” force the specified modifier2 when using HTTPS protocol. ๐Ÿ’…
  • --fastcgi-socket โ€” bind to the specified UNIX/TCP socket using FastCGI protocol. speedy boi. โšก
  • --fastcgi-nph-socket โ€” bind to the specified UNIX/TCP socket using FastCGI protocol (nph mode). nph mode activated. ๐Ÿฆ‹
  • --fastcgi-modifier1 โ€” force the specified modifier1 when using FastCGI protocol. ๐Ÿ”ฅ
  • --fastcgi-modifier2 โ€” force the specified modifier2 when using FastCGI protocol. ๐Ÿ”ฅ
  • --scgi-socket โ€” bind to the specified UNIX/TCP socket using SCGI protocol. โœจ
  • --scgi-nph-socket โ€” bind to the specified UNIX/TCP socket using SCGI protocol (nph mode). ๐Ÿฆ‹
  • --scgi-modifier1 โ€” force the specified modifier1 when using SCGI protocol. ๐Ÿ’ซ
  • --scgi-modifier2 โ€” force the specified modifier2 when using SCGI protocol. ๐Ÿ’ซ
  • --raw-socket โ€” bind to the specified UNIX/TCP socket using RAW protocol. raw and unfiltered, just like my group chat. ๐Ÿ˜ญ
  • --raw-modifier1 โ€” force the specified modifier1 when using RAW protocol. ๐ŸŽ€
  • --raw-modifier2 โ€” force the specified modifier2 when using RAW protocol. ๐ŸŽ€
  • --puwsgi-socket โ€” bind to the specified UNIX/TCP socket using persistent uwsgi protocol (puwsgi). persistent? we love commitment. ๐Ÿ’–
  • --protocol โ€” force the specified protocol for default sockets. choose your fighter. โš”๏ธ
  • --socket-protocol โ€” force the specified protocol for default sockets. same energy. โœจ
  • --shared-socket โ€” create a shared socket for advanced jailing or ipc. sharing is caring. ๐Ÿค
  • --undeferred-shared-socket โ€” create a shared socket for advanced jailing or ipc (undeferred mode). no waiting around. ๐Ÿ’…
  • -p, --processes โ€” spawn the specified number of workers/processes. get your crew. ๐Ÿ‘ฏ
  • -p, --workers โ€” spawn the specified number of workers/processes. same, but different name. ๐Ÿ’–
  • --thunder-lock โ€” serialize accept() usage (if possible). thunder lock sounds so dramatic, love that. โšก
  • -t, --harakiri โ€” set harakiri timeout. dramatic exit timing. ๐Ÿ—ก๏ธ
  • --harakiri-verbose โ€” enable verbose mode for harakiri. tell me everything. ๐Ÿ—ฃ๏ธ
  • --harakiri-graceful-timeout โ€” interval between graceful harakiri attempt and a sigkill. so you get a warning before the kill. ๐Ÿ’€
  • --harakiri-graceful-signal โ€” use this signal instead of sigterm for graceful harakiri attempts. pick your signal. ๐Ÿšฆ
  • --harakiri-queue-threshold โ€” only trigger harakiri if queue is greater than this threshold. don't be dramatic unless the queue is long. ๐Ÿ“
  • --harakiri-no-arh โ€” do not enable harakiri during after-request-hook. chill. ๐Ÿง˜
  • --no-harakiri-arh โ€” do not enable harakiri during after-request-hook. same vibe. ๐Ÿง˜
  • --no-harakiri-after-req-hook โ€” do not enable harakiri during after-request-hook. okay we get it. ๐Ÿ™ˆ
  • --backtrace-depth โ€” set backtrace depth. how deep do you wanna go? ๐ŸŒŠ
  • --mule-harakiri โ€” set harakiri timeout for mule tasks. mules get their own drama timer. ๐Ÿด
  • -x, --xmlconfig โ€” load config from xml file. old school but valid. ๐Ÿ“œ
  • -x, --xml โ€” load config from xml file. same. ๐Ÿ’…
  • --config โ€” load configuration using the pluggable system. plug it in. ๐Ÿ”Œ
  • --fallback-config โ€” re-exec uwsgi with the specified config when exit code is 1. backup plan activated. ๐Ÿšจ
  • --strict โ€” enable strict mode (placeholder cannot be used). no placeholders, no exceptions. ๐Ÿ˜ค
  • --skip-zero โ€” skip check of file descriptor 0. zero? don't care. 0๏ธโƒฃ
  • --skip-atexit โ€” skip atexit hooks (ignored by the master). bye bye cleanup. ๐Ÿ‘‹
  • --skip-atexit-teardown โ€” skip atexit teardown (ignored by the master). double bye. ๐Ÿ‘‹๐Ÿ‘‹
  • -S, --set โ€” set a placeholder or an option. set it and forget it. โœจ
  • --set-placeholder โ€” set a placeholder. just a placeholder. ๐ŸŽ€
  • --set-ph โ€” set a placeholder. short and sweet. ๐Ÿ’–
  • --get โ€” print the specified option value and exit. get in, get out. ๐Ÿƒ
  • --declare-option โ€” declare a new uWSGI custom option. make it yours. ๐Ÿ‘‘
  • --declare-option2 โ€” declare a new uWSGI custom option (non-immediate). non-immediate, so it waits. โณ
  • --resolve โ€” place the result of a dns query in the specified placeholder, sytax: placeholder=name (immediate option). dns but make it placeholder. ๐ŸŒ
  • --for โ€” (opt logic) for cycle. loop de loop. ๐Ÿ”
  • --for-glob โ€” (opt logic) for cycle (expand glob). glob expansion, fancy. ๐Ÿฆ‹
  • --for-times โ€” (opt logic) for cycle (expand the specified num to a list starting from 1). count from 1. 1๏ธโƒฃ
  • --for-readline โ€” (opt logic) for cycle (expand the specified file to a list of lines). read those lines. ๐Ÿ“–
  • --endfor โ€” (opt logic) end for cycle. close the loop. ๐Ÿ”š
  • --end-for โ€” (opt logic) end for cycle. same. ๐Ÿ’…
  • --if-opt โ€” (opt logic) check for option. if option, then. ๐Ÿค”
  • --if-not-opt โ€” (opt logic) check for option. if not, then. ๐Ÿ™…
  • --if-env โ€” (opt logic) check for environment variable. env check. ๐ŸŒฑ
  • --if-not-env โ€” (opt logic) check for environment variable. not env check. ๐Ÿšซ
  • --ifenv โ€” (opt logic) check for environment variable. short form. โœจ
  • --if-reload โ€” (opt logic) check for reload. reload check. ๐Ÿ”„
  • --if-not-reload โ€” (opt logic) check for reload. not reload check. โŒ
  • --if-hostname โ€” (opt logic) check for hostname. hostname? ๐Ÿ‘€
  • --if-not-hostname โ€” (opt logic) check for hostname. no hostname? ๐Ÿ™ˆ
  • --if-hostname-match โ€” (opt logic) try to match hostname against a regular expression. regex realness. ๐Ÿ”
  • --if-not-hostname-match โ€” (opt logic) try to match hostname against a regular expression. not match. ๐Ÿคท
  • --if-exists โ€” (opt logic) check for file/directory existence. does it exist? ๐Ÿค”
  • --if-not-exists โ€” (opt logic) check for file/directory existence. doesn't exist. ๐Ÿ™…
  • --ifexists โ€” (opt logic) check for file/directory existence. short. โœจ
  • --if-plugin โ€” (opt logic) check for plugin. plugin check. ๐Ÿ”Œ
  • --if-not-plugin โ€” (opt logic) check for plugin. no plugin. ๐Ÿšซ
  • --ifplugin โ€” (opt logic) check for plugin. short. ๐Ÿ’…
  • --if-file โ€” (opt logic) check for file existence. file? ๐Ÿ“„
  • --if-not-file โ€” (opt logic) check for file existence. no file? โŒ
  • --if-dir โ€” (opt logic) check for directory existence. directory? ๐Ÿ“
  • --if-not-dir โ€” (opt logic) check for directory existence. no directory? ๐Ÿšซ
  • --ifdir โ€” (opt logic) check for directory existence. short. โœจ
  • --if-directory โ€” (opt logic) check for directory existence. long. ๐Ÿ“‚
  • --endif โ€” (opt logic) end if. end it. ๐Ÿ”š
  • --end-if โ€” (opt logic) end if. same. ๐Ÿ’…
  • --blacklist โ€” set options blacklist context. blacklist mode. ๐Ÿ–ค
  • --end-blacklist โ€” clear options blacklist context. clear it. ๐Ÿงผ
  • --whitelist โ€” set options whitelist context. whitelist mode. ๐Ÿค
  • --end-whitelist โ€” clear options whitelist context. clear it. ๐Ÿงผ
  • --ignore-sigpipe โ€” do not report (annoying) SIGPIPE. ignore the noise. ๐Ÿ”‡
  • --ignore-write-errors โ€” do not report (annoying) write()/writev() errors. ignore the mess. ๐Ÿ™ˆ
  • --write-errors-tolerance โ€” set the maximum number of allowed write errors (default: no tolerance). zero tolerance? yes. ๐Ÿšซ
  • --write-errors-exception-only โ€” only raise an exception on write errors giving control to the app itself. let the app handle it. ๐ŸŽฎ
  • --disable-write-exception โ€” disable exception generation on write()/writev(). no exceptions. ๐Ÿšซ
  • --inherit โ€” use the specified file as config template. inherit the vibe. ๐Ÿงฌ
  • --include โ€” include the specified file as immediate configuration. include it now. โšก
  • --inject-before โ€” inject a text file before the config file (advanced templating). inject before. ๐Ÿ’‰
  • --inject-after โ€” inject a text file after the config file (advanced templating). inject after. ๐Ÿ’‰
  • -d, --daemonize โ€” daemonize uWSGI. go live in the background. ๐ŸŒ™
  • --daemonize2 โ€” daemonize uWSGI after app loading. wait for the app, then background. โณ
  • --stop โ€” stop an instance. stop right there. โœ‹
  • --reload โ€” reload an instance. refresh. ๐Ÿ”„
  • --pause โ€” pause an instance. pause. โธ๏ธ
  • --suspend โ€” suspend an instance. suspend. โธ๏ธ
  • --resume โ€” resume an instance. play. โ–ถ๏ธ
  • --connect-and-read โ€” connect to a socket and wait for data from it. connect and chill. ๐Ÿ”Œ
  • --extract โ€” fetch/dump any supported address to stdout. dump it. ๐Ÿ“ค
  • -l, --listen โ€” set the socket listen queue size. how many can wait in line. ๐Ÿšถ
  • -v, --max-vars โ€” set the amount of internal iovec/vars structures. structure budget. ๐Ÿ—๏ธ
  • --max-apps โ€” set the maximum number of per-worker applications. app limit. ๐Ÿ“ฑ
  • -b, --buffer-size โ€” set internal buffer size. buffer baby. ๐Ÿ“ฆ
  • -m, --memory-report โ€” enable memory report. report that memory. ๐Ÿง 
  • --profiler โ€” enable the specified profiler. profile it. ๐Ÿ“Š
  • -c, --cgi-mode โ€” force CGI-mode for plugins supporting it. cgi mode. ๐Ÿ•ฐ๏ธ
  • -a, --abstract-socket โ€” force UNIX socket in abstract mode (Linux only). abstract, but only on Linux. ๐Ÿง
  • -C, --chmod-socket โ€” chmod-socket. permission slip. ๐Ÿ”
  • -C, --chmod โ€” chmod-socket. same. ๐Ÿ’…
  • --chown-socket โ€” chown unix sockets. change owner. ๐Ÿ‘‘
  • --umask โ€” set umask. mask it. ๐ŸŽญ
  • --freebind โ€” put socket in freebind mode. freebind, free your mind. ๐Ÿ•Š๏ธ
  • --map-socket โ€” map sockets to specific workers. assign them. ๐Ÿ—บ๏ธ
  • -T, --enable-threads โ€” enable threads (stub option this is true by default). threads are on by default, but here's the flag. ๐Ÿงต
  • --no-threads-wait โ€” do not wait for threads cancellation on quit/reload. don't wait up. ๐Ÿƒ
  • --auto-procname โ€” automatically set processes name to something meaningful. name drop automatically. ๐Ÿท๏ธ
  • --procname-prefix โ€” add a prefix to the process names. prefix it. ๐Ÿ”ค
  • --procname-prefix-spaced โ€” add a spaced prefix to the process names. space it out. โฃ
  • --procname-append โ€” append a string to process names. append it. โž•
  • --procname โ€” set process names. name it. ๐Ÿ“›
  • --procname-master โ€” set master process name. name the master. ๐Ÿ‘‘
  • -i, --single-interpreter โ€” do not use multiple interpreters (where available). one interpreter only. 1๏ธโƒฃ
  • --need-app โ€” exit if no app can be loaded. no app? bye. ๐Ÿšช
  • -M, --master โ€” enable master process. master mode. ๐Ÿ‘‘
  • --honour-stdin โ€” do not remap stdin to /dev/null. keep stdin real. โŒจ๏ธ
  • --emperor โ€” run the Emperor. bow down. ๐Ÿ‘‘
  • --emperor-proxy-socket โ€” force the vassal to became an Emperor proxy. vassal becomes proxy. ๐Ÿ”„
  • --emperor-wrapper โ€” set a binary wrapper for vassals. wrap it up. ๐ŸŽ
  • --emperor-wrapper-override โ€” set a binary wrapper for vassals to try before the default one. try this first. ๐Ÿฅ‡
  • --emperor-wrapper-fallback โ€” set a binary wrapper for vassals to try as a last resort. last resort. ๐Ÿ†˜
  • --emperor-nofollow โ€” do not follow symlinks when checking for mtime. no follow. ๐Ÿšซ
  • --emperor-procname โ€” set the Emperor process name. name the Emperor. ๐Ÿ“›
  • --emperor-freq โ€” set the Emperor scan frequency (default 3 seconds). every 3 seconds by default. โฐ
  • --emperor-required-heartbeat โ€” set the Emperor tolerance about heartbeats. heartbeat tolerance. ๐Ÿ’“
  • --emperor-curse-tolerance โ€” set the Emperor tolerance about cursed vassals. cursed vassals? tolerance. ๐Ÿ˜ˆ

to be continued, bestie... โญ๏ธ๐Ÿ’–

Ok so like โ€” the emperor section continues, and bestie, it is long. Buckle up ๐Ÿ’–

  • --emperor-pidfile โ€” drops the Emperor's pid into the file you name. That's it, that's the whole job โœจ
  • --emperor-tyrant โ€” flips the Emperor into Tyrant mode. Yes it's called that. No we don't make the rules ๐Ÿ‘‘
  • --emperor-tyrant-nofollow โ€” in Tyrant mode, when it's checking uid/gid, it will not follow symlinks. Fr fr, no shortcuts through links ๐Ÿ™…โ€โ™€๏ธ
  • --emperor-stats โ€” runs the Emperor stats server ๐Ÿ“Š
  • --emperor-stats-server โ€” also runs the Emperor stats server. Yeah, twin flags, iconic behavior ๐Ÿ’…
  • --early-emperor โ€” spawns the emperor as soon as possible, like it's got somewhere to be ๐Ÿƒโ€โ™€๏ธ
  • --emperor-broodlord โ€” runs the emperor in BroodLord mode. Very scary name, very real flag ๐Ÿฆ‹
  • --emperor-throttle โ€” sets the throttling level, in milliseconds, for vassals that are acting up (default 1000)
  • --emperor-max-throttle โ€” sets the max throttling level, in milliseconds, for your bad-behaving vassals (default 3 minutes). They get grounded, basically ๐Ÿ˜ค
  • --emperor-magic-exec โ€” prefixes vassals' config files with exec:// if those files have the executable bit set. magic fr โœจ
  • --emperor-on-demand-extension โ€” searches for a text file (vassal name + extension) that contains the on demand socket name
  • --emperor-on-demand-ext โ€” same exact energy as above: searches for a text file (vassal name + extension) holding the on demand socket name
  • --emperor-on-demand-directory โ€” enables on demand mode, binding to the unix socket in the directory you give, named like the vassal + .socket
  • --emperor-on-demand-dir โ€” ok the short twin again: enables on demand mode, binding to the unix socket in your specified directory, named like the vassal + .socket
  • --emperor-on-demand-exec โ€” uses the output of the command you specify as the on demand socket name (the vassal name gets passed as the only argument)
  • --emperor-extra-extension โ€” lets the Emperor allow the extension you name (the vassal will get called with --config)
  • --emperor-extra-ext โ€” same thing, short name: allows that specified extension in the Emperor (vassal gets called with --config)
  • --emperor-no-blacklist โ€” kills the Emperor blacklisting subsystem entirely ๐Ÿ’€
  • --emperor-use-clone โ€” uses clone() instead of fork(), passing along whatever unshare() flags you specify ๐Ÿงฌ
  • --emperor-graceful-shutdown โ€” makes vassals do a graceful shutdown during ragnarok. Yes, ragnarok. Periodt โš”๏ธ
  • --emperor-cap โ€” sets vassals capability
  • --vassals-cap โ€” sets vassals capability (yep, same thing, different name ๐Ÿซถ)
  • --vassal-cap โ€” sets vassals capability (third one. obsessed with redundancy tbh)
  • --imperial-monitor-list โ€” lists the enabled imperial monitors ๐Ÿ‘‘
  • --imperial-monitors-list โ€” lists the enabled imperial monitors (the plural version, for the plural girlies)
  • --vassals-inherit โ€” adds config templates to your vassals' config (it uses --inherit)
  • --vassals-include โ€” includes config templates into your vassals' config (uses --include instead of --inherit)
  • --vassals-inherit-before โ€” adds config templates to vassals' config (uses --inherit, and it parses before the vassal file)
  • --vassals-include-before โ€” includes config templates into vassals' config (uses --include instead of --inherit, and parses before the vassal file)
  • --vassals-start-hook โ€” runs the command you give before every single vassal starts ๐ŸŽฌ
  • --vassals-stop-hook โ€” runs that command after a vassal's death ๐Ÿ’€
  • --vassal-sos โ€” asks the emperor for reinforcement when it's overloaded. literally a distress signal ๐Ÿ†˜
  • --vassal-sos-backlog โ€” asks the emperor for sos if the backlog queue has more items than the value you set
  • --vassals-set โ€” automatically sets the option you specify (via --set) for every vassal
  • --vassal-set โ€” same, singular flavor: automatically sets the specified option (via --set) for every vassal
  • --heartbeat โ€” announces healthiness to the emperor ๐Ÿ’“
  • --reload-mercy โ€” sets the maximum time, in seconds, that we wait for workers and other processes to die during reload/shutdown
  • --worker-reload-mercy โ€” sets the maximum time, in seconds, a worker can take to reload/shutdown (default is 60)
  • --mule-reload-mercy โ€” sets the maximum time, in seconds, a mule can take to reload/shutdown (default is 60)
  • --exit-on-reload โ€” forces exit even if a reload was requested. it's leaving and it doesn't care ๐Ÿšช
  • --die-on-term โ€” exits instead of doing a brutal reload on SIGTERM
  • --force-gateway โ€” forces the spawn of the first registered gateway without a master
  • -h, --help โ€” shows this help ๐Ÿซถ
  • -h, --usage โ€” shows this help (same flag, second name, we love a double)
  • --print-sym โ€” prints the content of the binary symbol you specify
  • --print-symbol โ€” prints the content of that specified binary symbol (the long-name twin)
  • -r, --reaper โ€” calls waitpid(-1,...) after each request to get rid of zombies ๐ŸงŸโ€โ™€๏ธ
  • -R, --max-requests โ€” reloads workers after the specified amount of managed requests
  • --max-requests-delta โ€” adds (worker_id * delta) to the max_requests value of each worker
  • --min-worker-lifetime โ€” number of seconds a worker must run before it can be reloaded (default is 10)
  • --max-worker-lifetime โ€” reloads workers after the specified amount of seconds (default is disabled)
  • --max-worker-lifetime-delta โ€” adds (worker_id * delta) seconds to the max_worker_lifetime value of each worker
  • -z, --socket-timeout โ€” sets the internal sockets timeout
  • --no-fd-passing โ€” disables file descriptor passing
  • --locks โ€” creates the specified number of shared locks ๐Ÿ”’
  • --lock-engine โ€” sets the lock engine
  • --ftok โ€” sets the ipcsem key via ftok() for avoiding duplicates
  • --persistent-ipcsem โ€” does not remove ipcsem's on shutdown. they stay. forever. ๐Ÿ’œ
  • -A, --sharedarea โ€” creates a raw shared memory area of the specified pages (note: it supports keyval too)
  • --safe-fd โ€” does not close the file descriptor you specify
  • --fd-safe โ€” does not close the specified file descriptor (the reversed-name twin)
  • --cache โ€” creates a shared cache containing the given elements
  • --cache-blocksize โ€” sets cache blocksize
  • --cache-store โ€” enables persistent cache to disk ๐Ÿ’พ
  • --cache-store-sync โ€” sets the frequency of sync for the persistent cache
  • --cache-no-expire โ€” disables the auto sweep of expired items
  • --cache-expire-freq โ€” sets the frequency of cache sweeper scans (default 3 seconds)
  • --cache-report-freed-items โ€” constantly reports the cache items freed by the sweeper
  • --cache-udp-server โ€” binds the cache udp server (used only for set/update/delete) to the socket you specify
  • --cache-udp-node โ€” sends cache update/deletion to the cache udp server you specify
  • --cache-sync โ€” copies the entire content of another uWSGI cache server on server startup
  • --cache-use-last-modified โ€” updates the last_modified_at timestamp on every cache item modification (default is disabled)
  • --add-cache-item โ€” adds an item in the cache
  • --load-file-in-cache โ€” loads a static file into the cache
  • --load-file-in-cache-gzip โ€” loads a static file into the cache with gzip compression ๐Ÿ—œ๏ธ
  • --cache2 โ€” creates a new generation shared cache (keyval syntax)
  • --queue โ€” enables the shared queue
  • --queue-blocksize โ€” sets the queue blocksize
  • --queue-store โ€” enables persistent queue to disk
  • --queue-store-sync โ€” sets the frequency of sync for the persistent queue
  • -Q, --spooler โ€” runs a spooler on the directory you specify ๐Ÿงต
  • --spooler-external โ€” maps spooler requests to a spooler directory managed by an external instance
  • --spooler-ordered โ€” tries to order the execution of spooler tasks
  • --spooler-chdir โ€” chdir()s to the specified directory before each spooler task
  • --spooler-processes โ€” sets the number of processes for spoolers
  • --spooler-quiet โ€” does not be verbose with spooler tasks ๐Ÿคซ
  • --spooler-max-tasks โ€” sets the maximum number of tasks to run before recycling a spooler
  • --spooler-harakiri โ€” sets the harakiri timeout for spooler tasks
  • --spooler-frequency โ€” sets spooler frequency
  • --spooler-freq โ€” sets spooler frequency (yes, the short one, we stan a nickname)
  • --mule โ€” adds a mule ๐Ÿด
  • --mules โ€” adds the specified number of mules
  • --farm โ€” adds a mule farm ๐ŸŒพ
  • --mule-msg-size โ€” sets the mule message buffer size
  • --signal โ€” sends a uwsgi signal to a server ๐Ÿ“ก
  • --signal-bufsize โ€” sets the buffer size for the signal queue
  • --signals-bufsize โ€” sets the buffer size for the signal queue (plural vibe)
  • --signal-timer โ€” adds a timer (syntax: <signal> <seconds>)
  • --timer โ€” adds a timer (syntax: <signal> <seconds>)
  • --signal-rbtimer โ€” adds a redblack timer (syntax: <signal> <seconds>)
  • --rbtimer โ€” adds a redblack timer (syntax: <signal> <seconds>)
  • --rpc-max โ€” maximum number of rpc slots (default: 64)
  • -L, --disable-logging โ€” disables request logging
  • --flock โ€” locks the specified file before starting, and exits if it's locked
  • --flock-wait โ€” locks the specified file before starting, and waits if it's locked
  • --flock2 โ€” locks the specified file after logging/daemon setup, and exits if locked
  • --flock-wait2 โ€” locks the specified file after logging/daemon setup, and waits if locked
  • --pidfile โ€” creates a pidfile (before privileges drop)
  • --pidfile2 โ€” creates a pidfile (after privileges drop)
  • --safe-pidfile โ€” creates a safe pidfile (before privileges drop)
  • --safe-pidfile2 โ€” creates a safe pidfile (after privileges drop)
  • --chroot โ€” chroot()s to the specified directory
  • --pivot-root โ€” pivot_root()s to the specified directories
  • --pivot_root โ€” pivot_root()s to the specified directories (same flag, underscore edition)
ok bestie, heads up on the pivot ones: new_root and put_old must be separated with a space. no space, no joy ๐Ÿ’…
  • --uid โ€” setuid to the specified user/uid
  • --gid โ€” setgid to the specified group/gid
  • --add-gid โ€” adds the given group id to the process credentials
  • --immediate-uid โ€” setuid to the specified user/uid IMMEDIATELY โ€” capital letters are doing the emotional labor here
  • --immediate-gid โ€” setgid to the specified group/gid IMMEDIATELY
  • --no-initgroups โ€” disables the additional groups that get set via initgroups() ๐Ÿ™ˆ
  • --cap โ€” sets the process capability
  • --unshare โ€” unshare()s part of the processes and throws them into a new namespace ๐ŸŒ€
  • --unshare2 โ€” unshare()s part of the processes and puts them in a new namespace after rootfs change
  • --setns-socket โ€” exposes a unix socket that returns namespace fds from /proc/self/ns
  • --setns-socket-skip โ€” skips the specified entry when sending setns file descriptors
  • --setns-skip โ€” skips the specified entry when sending setns file descriptors (same rule, shorter name)
  • --setns โ€” joins a namespace created by an external uWSGI instance
  • --setns-preopen โ€” opens /proc/self/ns as soon as possible and caches the fds โญ

ok and there's still more coming, don't go anywhere ๐Ÿ’–

okay bestie we're deep in the flag forest now ๐ŸŒฒ these are the ones that tell uWSGI when to do the cute little things โ€” hooks, execs, mounts, waits, calls โ€” plus a pile of socket tuning and reload triggers. Buckle up. ๐ŸŽ€


  • --jailed โ€” marks the instance as jailed (which forces the post_jail hooks to actually run).
  • --refork โ€” does a fork() again after privileges drop. Slays for jailing systems. ๐Ÿฆ‹
  • --re-fork โ€” literally the same thing as --refork: fork() again after privileges drop. Jailing systems love this one.
  • --refork-as-root โ€” fork() again, but before privileges drop. Still the jailing-systems vibe.
  • --re-fork-as-root โ€” yes bestie, same as --refork-as-root. fork() again before privileges drop.
  • --refork-post-jail โ€” fork() again after jailing. Jailing systems, u guessed it.
  • --re-fork-post-jail โ€” identical twin of --refork-post-jail. fork() again after jailing.

๐Ÿ’… the hook squad ๐Ÿ’…

  • --hook-asap โ€” run the specified hook as soon as possible.
  • --hook-pre-jail โ€” run the specified hook before jailing.
  • --hook-post-jail โ€” run the specified hook after jailing.
  • --hook-in-jail โ€” run the specified hook in jail, after initialization.
  • --hook-as-root โ€” run the specified hook before privileges drop.
  • --hook-as-user โ€” run the specified hook after privileges drop.
  • --hook-as-user-atexit โ€” run the specified hook before app exit and reload.
  • --hook-pre-app โ€” run the specified hook before app loading.
  • --hook-post-app โ€” run the specified hook after app loading.
  • --hook-post-fork โ€” run the specified hook after each fork.
  • --hook-accepting โ€” run the specified hook after each worker enters the accepting phase.
  • --hook-accepting1 โ€” run the specified hook after the first worker enters the accepting phase.
  • --hook-accepting-once โ€” run the specified hook after each worker enters the accepting phase, but only once per-instance.
  • --hook-accepting1-once โ€” run the specified hook after the first worker enters the accepting phase, once per instance.
  • --hook-master-start โ€” run the specified hook when the Master starts. ๐Ÿ‘‘
  • --hook-touch โ€” run the specified hook when the specified file is touched. Syntax goes like: <file> <action>.
  • --hook-emperor-start โ€” run the specified hook when the Emperor starts.
  • --hook-emperor-stop โ€” run the specified hook when the Emperor sends a stop message.
  • --hook-emperor-reload โ€” run the specified hook when the Emperor sends a reload message.
  • --hook-emperor-lost โ€” run the specified hook when the Emperor connection is lost. ๐Ÿ˜ญ
  • --hook-as-vassal โ€” run the specified hook before exec()ing the vassal.
  • --hook-as-emperor โ€” run the specified hook in the emperor, after the vassal has been started.
  • --hook-as-mule โ€” run the specified hook in each mule.
  • --hook-as-gateway โ€” run the specified hook in each gateway.
  • --after-request-hook โ€” run the specified function/symbol after each request.
  • --after-request-call โ€” run the specified function/symbol after each request (yep, same energy as the one above).

โœจ exec o'clock โœจ

  • --exec-asap โ€” run the specified command as soon as possible.
  • --exec-pre-jail โ€” run the specified command before jailing.
  • --exec-post-jail โ€” run the specified command after jailing.
  • --exec-in-jail โ€” run the specified command in jail, after initialization.
  • --exec-as-root โ€” run the specified command before privileges drop.
  • --exec-as-user โ€” run the specified command after privileges drop.
  • --exec-as-user-atexit โ€” run the specified command before app exit and reload.
  • --exec-pre-app โ€” run the specified command before app loading.
  • --exec-post-app โ€” run the specified command after app loading.
  • --exec-as-vassal โ€” run the specified command before exec()ing the vassal.
  • --exec-as-emperor โ€” run the specified command in the emperor, after the vassal has been started.

๐Ÿงš mounts & unmounts ๐Ÿงš

  • --mount-asap โ€” mount filesystem as soon as possible.
  • --mount-pre-jail โ€” mount filesystem before jailing.
  • --mount-post-jail โ€” mount filesystem after jailing.
  • --mount-in-jail โ€” mount filesystem in jail, after initialization.
  • --mount-as-root โ€” mount filesystem before privileges drop.
  • --mount-as-vassal โ€” mount filesystem before exec()ing the vassal.
  • --mount-as-emperor โ€” mount filesystem in the emperor, after the vassal has been started.
  • --umount-asap โ€” unmount filesystem as soon as possible.
  • --umount-pre-jail โ€” unmount filesystem before jailing.
  • --umount-post-jail โ€” unmount filesystem after jailing.
  • --umount-in-jail โ€” unmount filesystem in jail, after initialization.
  • --umount-as-root โ€” unmount filesystem before privileges drop.
  • --umount-as-vassal โ€” unmount filesystem before exec()ing the vassal.
  • --umount-as-emperor โ€” unmount filesystem in the emperor, after the vassal has been started.

โณ waiting era โณ

  • --wait-for-interface โ€” wait for the specified network interface to come up before running root hooks.
  • --wait-for-interface-timeout โ€” set the timeout for wait-for-interface.
  • --wait-interface โ€” wait for the specified network interface to come up before running root hooks.
  • --wait-interface-timeout โ€” set the timeout for wait-for-interface.
  • --wait-for-iface โ€” wait for the specified network interface to come up before running root hooks.
  • --wait-for-iface-timeout โ€” set the timeout for wait-for-interface.
  • --wait-iface โ€” wait for the specified network interface to come up before running root hooks.
  • --wait-iface-timeout โ€” set the timeout for wait-for-interface.
  • --wait-for-fs โ€” wait for the specified filesystem item to appear before running root hooks.
  • --wait-for-file โ€” wait for the specified file to appear before running root hooks.
  • --wait-for-dir โ€” wait for the specified directory to appear before running root hooks.
  • --wait-for-mountpoint โ€” wait for the specified mountpoint to appear before running root hooks.
  • --wait-for-fs-timeout โ€” set the timeout for wait-for-fs/file/dir.
  • --wait-for-socket โ€” wait for the specified socket to be ready before loading apps.
  • --wait-for-socket-timeout โ€” set the timeout for wait-for-socket.

๐Ÿ“ž the call squad ๐Ÿ“ž

note the exact signatures bestie, they are NOT interchangeable ๐Ÿ’€

  • --call-asap โ€” call the specified function as soon as possible.
  • --call-pre-jail โ€” call the specified function before jailing.
  • --call-post-jail โ€” call the specified function after jailing.
  • --call-in-jail โ€” call the specified function in jail, after initialization.
  • --call-as-root โ€” call the specified function before privileges drop.
  • --call-as-user โ€” call the specified function after privileges drop.
  • --call-as-user-atexit โ€” call the specified function before app exit and reload.
  • --call-pre-app โ€” call the specified function before app loading.
  • --call-post-app โ€” call the specified function after app loading.
  • --call-as-vassal โ€” call the specified function() before exec()ing the vassal.
  • --call-as-vassal1 โ€” call the specified function(char *) before exec()ing the vassal.
  • --call-as-vassal3 โ€” call the specified function(char *, uid_t, gid_t) before exec()ing the vassal.
  • --call-as-emperor โ€” call the specified function() in the emperor, after the vassal has been started.
  • --call-as-emperor1 โ€” call the specified function(char *) in the emperor, after the vassal has been started.
  • --call-as-emperor2 โ€” call the specified function(char *, pid_t) in the emperor, after the vassal has been started.
  • --call-as-emperor4 โ€” call the specified function(char *, pid_t, uid_t, gid_t) in the emperor, after the vassal has been started.

๐Ÿ“ config files, but make it a buffet ๐Ÿ“

  • --ini โ€” load config from an ini file.
  • -y, --yaml โ€” load config from a yaml file.
  • -y, --yml โ€” load config from a yaml file.
  • -j, --json โ€” load config from a json file.
  • -j, --js โ€” load config from a json file.

๐ŸŒˆ instance vibes & server mode ๐ŸŒˆ

  • --weight โ€” weight of the instance (used by clustering/lb/subscriptions).
  • --auto-weight โ€” set the weight of the instance automatically (used by clustering/lb/subscriptions).
  • --no-server โ€” force no-server mode.
  • --command-mode โ€” force command mode.

๐Ÿ”ฅ socket glow-up ๐Ÿ”ฅ

  • --no-defer-accept โ€” disable deferred-accept on sockets.
  • --tcp-nodelay โ€” enable TCP NODELAY on each request.
  • --so-keepalive โ€” enable TCP KEEPALIVEs.
  • --so-send-timeout โ€” set SO_SNDTIMEO.
  • --socket-send-timeout โ€” set SO_SNDTIMEO.
  • --so-write-timeout โ€” set SO_SNDTIMEO.
  • --socket-write-timeout โ€” set SO_SNDTIMEO.
  • --socket-sndbuf โ€” set SO_SNDBUF.
  • --socket-rcvbuf โ€” set SO_RCVBUF.
  • --shutdown-sockets โ€” force calling shutdown() in addition to close() when sockets are destroyed.

๐Ÿ’€ limits & reloads (the spicy part) ๐Ÿ’€

  • --limit-as โ€” limit processes address space/vsz.
  • --limit-nproc โ€” limit the number of spawnable processes.
  • --reload-on-as โ€” reload if address space is higher than the specified megabytes.
  • --reload-on-rss โ€” reload if rss memory is higher than the specified megabytes.
  • --evil-reload-on-as โ€” force the master to reload a worker if its address space is higher than the specified megabytes.
  • --evil-reload-on-rss โ€” force the master to reload a worker if its rss memory is higher than the specified megabytes.
  • --mem-collector-freq โ€” set the memory collector frequency when evil reloads are in place.
  • --reload-on-fd โ€” reload if the specified file descriptor is ready.
  • --brutal-reload-on-fd โ€” brutal reload if the specified file descriptor is ready. ๐Ÿ˜ค
  • --ksm โ€” enable Linux KSM.
  • --pcre-jit โ€” enable pcre jit (if available).
  • --never-swap โ€” lock all memory pages, avoiding swapping.

๐ŸŒธ touch it and it reacts ๐ŸŒธ

  • --touch-reload โ€” reload uWSGI if the specified file is modified/touched.
  • --touch-workers-reload โ€” trigger reload of (only) workers if the specified file is modified/touched.
  • --touch-mules-reload โ€” reload mules if the specified file is modified/touched.
  • --touch-spoolers-reload โ€” reload spoolers if the specified file is modified/touched.
  • --touch-chain-reload โ€” trigger chain reload if the specified file is modified/touched.
  • --touch-logrotate โ€” trigger logrotation if the specified file is modified/touched.
  • --touch-logreopen โ€” trigger log reopen if the specified file is modified/touched.
  • --touch-exec โ€” run a command when the specified file is modified/touched. Syntax: file command.
  • --touch-signal โ€” bestie, this one keeps an eye on a file, and the second it gets modified/touched you get a signal. Syntax is file signal, okay? Two things, in that order. ๐Ÿ‘€
  • --fs-reload โ€” watches a filesystem object and does a graceful reload when it changes. chill queen behaviour, no dropped requests โœจ
  • --fs-brutal-reload โ€” same energy but make it feral: brutal reload the moment that filesystem object changes. no grace, all drama ๐Ÿ’€
  • --fs-signal โ€” raise a uwsgi signal when the specified filesystem object is modified. syntax: file signal. ๐Ÿฆ‹
  • --check-mountpoint โ€” if a filesystem stops being reachable, this destroys the instance. sounds harsh but it's literally useful for reliable Fuse management ๐Ÿซถ
  • --mountpoint-check โ€” obvs the same thing: destroy the instance if a filesystem is no more reachable (again: useful for reliable Fuse management). twin sister of --check-mountpoint ๐Ÿ’…
  • --check-mount โ€” yep, you guessed it โ€” destroy the instance if a filesystem is no more reachable. useful for reliable Fuse management. third sibling ๐ŸŽ€
  • --mount-check โ€” and the fourth: destroy the instance if a filesystem is no more reachable. useful for reliable Fuse management. the whole squad is here ๐ŸŒธ
  • --propagate-touch โ€” ngl this is described as an over-engineering option for systems with flaky signal management. it's giving bandaid energy but ok ๐Ÿฉน
  • --limit-post โ€” put a cap on the request body. no giant posts allowed, we're gatekeeping ๐Ÿšง
  • --no-orphans โ€” if master dies, the workers get automatically killed. queen. but heads up: this can be dangerous for availability ๐Ÿ˜ญ
  • --prio โ€” set the priority of processes/threads.
  • --cpu-affinity โ€” pin down that cpu affinity. main character cores only ๐Ÿ‘‘
  • --post-buffering โ€” set the size in bytes after which the body gets buffered to disk instead of memory. spill the tea (to disk) ๐Ÿ’พ
  • --post-buffering-bufsize โ€” sets the buffer size used for read() while you're in post buffering mode.
  • --body-read-warning โ€” sets how much memory allocation (in megabytes) for the request body is allowed before it starts printing a warning at you. it's the "bestie are you okay" threshold ๐Ÿ™ˆ
  • --upload-progress โ€” turns on creation of .json files inside the directory you specify, while a file upload is happening. watch the progress live, iconic ๐Ÿ“Š
  • --no-default-app โ€” don't fall back to the default app. we're not doing backups today โœ‹
  • --manage-script-name โ€” automatically rewrites SCRIPT_NAME and PATH_INFO for you. it handles the admin so you don't have to ๐Ÿ’…
  • --ignore-script-name โ€” just straight up ignores SCRIPT_NAME. not your business, moving on ๐Ÿ™ˆ
  • --catch-exceptions โ€” reports the exception as http output. and listen: the manpage says this is discouraged, use only for testing. so like, testing only fr fr ๐Ÿงช
  • --reload-on-exception โ€” an exception gets raised โ†’ the worker reloads. clean slate energy โœจ
  • --reload-on-exception-type โ€” reloads a worker when a specific exception type is raised. โœจ
  • --reload-on-exception-value โ€” reloads a worker when a specific exception value is raised. โœจ
  • --reload-on-exception-repr โ€” reloads a worker when a specific exception type+value (language-specific) is raised. the combo meal ๐Ÿ”ฅ
  • --exception-handler โ€” add an exception handler. you're the handler now ๐Ÿซถ
  • --enable-metrics โ€” turns on the metrics subsystem. numbers, we love numbers ๐Ÿ“ˆ
  • --metric โ€” add a custom metric. make it personal ๐Ÿ’œ
  • --metric-threshold โ€” add a metric threshold/alarm.
  • --metric-alarm โ€” add a metric threshold/alarm. same vibe, different spelling ๐ŸŽ€
  • --alarm-metric โ€” add a metric threshold/alarm. the third twin ๐ŸŒˆ
  • --metrics-dir โ€” export metrics as text files into the directory you give it. ๐Ÿ—‚๏ธ
  • --metrics-dir-restore โ€” restore the last value taken from the metrics dir. memory queen ๐Ÿง 
  • --metric-dir โ€” export metrics as text files to the specified directory. (singular spelling, same job) ๐Ÿ—‚๏ธ
  • --metric-dir-restore โ€” restore the last value taken from the metrics dir. ๐Ÿง 
  • --metrics-no-cores โ€” disables generation of the cores-related metrics. no core metrics for you ๐Ÿšซ
  • --udp โ€” run the udp server on the specified address.
  • --stats โ€” enables the stats server on the address you give it. ๐Ÿ“Š
  • --stats-server โ€” enables the stats server on the specified address. same girl, longer name ๐Ÿ’…
  • --stats-http โ€” prefixes the stats server json output with http headers. fancy it up โœจ
  • --stats-minified โ€” minifies the statistics json output. small and cute ๐ŸŽ€
  • --stats-min โ€” minifies statistics json output. short name, same tiny energy ๐ŸŽ€
  • --stats-push โ€” push the stats json straight to the destination you specify. yeet ๐Ÿ“ค
  • --stats-pusher-default-freq โ€” set the default frequency of stats pushers. โฐ
  • --stats-pushers-default-freq โ€” set the default frequency of stats pushers. plural version, same deal โฐ
  • --stats-no-cores โ€” disable generation of cores-related stats. ๐Ÿšซ
  • --stats-no-metrics โ€” don't include metrics in the stats output. keep it lean ๐Ÿ’…
  • --multicast โ€” subscribe to the multicast group you specify. ๐Ÿ“ก
  • --multicast-ttl โ€” set the multicast ttl.
  • --multicast-loop โ€” set the multicast loop (default 1).
  • --master-fifo โ€” enables the master fifo. ๐ŸŽ›๏ธ
  • --notify-socket โ€” enables the notification socket. ๐Ÿ””
  • --subscription-notify-socket โ€” sets the notification socket used for subscriptions. ๐Ÿ””
  • --legion โ€” become a member of a legion. yes like a whole squad ๐Ÿค
  • --legion-mcast โ€” become a member of a legion (it's a shortcut for multicast). ๐Ÿค
  • --legion-node โ€” add a node to a legion. โž•
  • --legion-freq โ€” set the frequency of legion packets. โฑ๏ธ
  • --legion-tolerance โ€” set the tolerance of the legion subsystem. be patient bestie ๐Ÿซถ
  • --legion-death-on-lord-error โ€” if one of the lord hooks fails, it declares itself a dead node for the number of seconds you specify. dramatic but valid ๐Ÿ’€
  • --legion-skew-tolerance โ€” set the clock skew tolerance of the legion subsystem (default 60 seconds). โฐ
  • --legion-lord โ€” action to call on Lord election. ๐Ÿ‘‘
  • --legion-unlord โ€” action to call on Lord dismiss. ๐Ÿ‘‘
  • --legion-setup โ€” action to call on legion setup. ๐Ÿ› ๏ธ
  • --legion-death โ€” action to call on legion death (that's the shutdown of the instance). ๐Ÿ’€
  • --legion-join โ€” action to call on legion join (the first time quorum is reached). ๐ŸŽ‰
  • --legion-node-joined โ€” action to call when a new node joins the legion. ๐Ÿซ‚
  • --legion-node-left โ€” action to call when a node leaves the legion. ๐Ÿ‘‹
  • --legion-quorum โ€” set the quorum of a legion.
  • --legion-scroll โ€” set the scroll of a legion. ๐Ÿ“œ
  • --legion-scroll-max-size โ€” set the max size of the legion scroll buffer. ๐Ÿ“œ
  • --legion-scroll-list-max-size โ€” set the max size of the legion scroll list buffer. ๐Ÿ“œ
  • --subscriptions-sign-check โ€” set the digest algorithm and the certificate directory for the secured subscription system. ๐Ÿ”
  • --subscriptions-sign-check-tolerance โ€” set the maximum tolerance (in seconds) of clock skew for the secured subscription system. โฐ
  • --subscriptions-sign-skip-uid โ€” when using unix sockets credentials, skip the signature check for the uid you specify. ๐Ÿšช
  • --subscriptions-credentials-check โ€” add a directory to search for subscriptions key credentials. ๐Ÿ”
  • --subscriptions-use-credentials โ€” enable management of SCM_CREDENTIALS in subscriptions UNIX sockets. ๐Ÿ”‘
  • --subscription-algo โ€” set the load balancing algorithm for the subscription system. โš–๏ธ
  • --subscription-dotsplit โ€” tries to fall back to the next part (dot based) in the subscription key. ๐ŸŽฏ
  • --subscribe-to โ€” subscribe to the subscription server you specify. ๐Ÿ“ฌ
  • --st โ€” subscribe to the specified subscription server. tiny name, big job ๐Ÿ“ฌ
  • --subscribe โ€” subscribe to the specified subscription server. ๐Ÿ“ฌ
  • --subscribe2 โ€” subscribe to the specified subscription server using the advanced keyval syntax. the glow-up version โœจ
  • --subscribe-freq โ€” send the subscription announce at the interval you specify. ๐Ÿ“ฃ
  • --subscription-tolerance โ€” set the tolerance for subscription servers. ๐Ÿซถ
  • --unsubscribe-on-graceful-reload โ€” forces the unsubscribe request even during a graceful reload. no lurking subs ๐Ÿ’…
  • --start-unsubscribed โ€” configure your subscriptions but don't actually send them (super useful with master fifo). ๐ŸŽ€
  • --subscribe-with-modifier1 โ€” forces the specified modifier1 when subscribing.
  • --snmp โ€” enable the embedded snmp server. ๐ŸŒ
  • --snmp-community โ€” set the snmp community string. ๐Ÿ”‘
  • --ssl-verbose โ€” be verbose about SSL errors. spill it all ๐Ÿ”Š
  • --ssl-verify-depth โ€” set the maximum certificate verification depth. ๐Ÿชœ
  • --sni โ€” add an SNI-governed SSL context. ๐Ÿงš
  • --sni-dir โ€” checks for a cert/key/client_ca file in the directory you specify, and creates a sni/ssl context on demand. iconic on-demand behaviour ๐Ÿ‘‘
  • --sni-dir-ciphers โ€” set the ssl ciphers for the sni-dir option. ๐Ÿ”
  • --ssl-enable3 โ€” enable SSLv3, which is insecure. girlypop, be careful ๐Ÿ’€
  • --ssl-enable-sslv3 โ€” enable SSLv3 (insecure). same warning, different flag name โš ๏ธ
  • --ssl-enable-tlsv1 โ€” enable TLSv1 (insecure). yeah. also insecure. we said what we said โš ๏ธ
  • --ssl-option โ€” set a raw ssl option (numeric value). ๐Ÿ”ข
  • --sni-regexp โ€” add an SNI-governed SSL context, except the key is a regexp. regex girlies rise ๐ŸŒธ
  • --ssl-tmp-dir โ€” store the ssl-related temp files in the directory you specify. ๐Ÿ—ƒ๏ธ
  • --check-interval โ€” set the interval (in seconds) of master checks. โฐ
  • --forkbomb-delay โ€” when a forkbomb is detected, sleep for the number of seconds you specify. nap time ๐Ÿ˜ด
  • --binary-path โ€” force the binary path. ๐Ÿ“
  • --privileged-binary-patch โ€” patch the uwsgi binary with a new command (before the privileges drop). ๐Ÿ”ง
  • --unprivileged-binary-patch โ€” patch the uwsgi binary with a new command (after the privileges drop). ๐Ÿ”ง
  • --privileged-binary-patch-arg โ€” patch the uwsgi binary with a new command and arguments (before privileges drop). ๐Ÿ”ง
  • --unprivileged-binary-patch-arg โ€” patch the uwsgi binary with a new command and arguments (after privileges drop). ๐Ÿ”ง
  • --async โ€” enable async mode with the number of cores you specify. โšก
  • --max-fd โ€” set the maximum number of file descriptors. heads up: requires root privileges ๐Ÿ‘‘
  • --logto โ€” set the logfile/udp address. ๐Ÿ“
  • --logto2 โ€” log to the file or udp address you specify, but after the privileges drop. ๐Ÿ“
  • --log-format โ€” set an advanced format for request logging. ๐ŸŽจ
  • --logformat โ€” set advanced format for request logging. same thing, one less dash ๐ŸŽจ
  • --logformat-strftime โ€” apply strftime to the logformat output. time stuff, cute ๐Ÿ•ฐ๏ธ
  • --log-format-strftime โ€” apply strftime to logformat output. ๐Ÿ•ฐ๏ธ
  • --logfile-chown โ€” chown the logfiles. ๐Ÿ‘‘
  • --logfile-chmod โ€” chmod the logfiles. ๐Ÿ”
  • --log-syslog โ€” log to syslog. ๐Ÿ“ฎ
  • --log-socket โ€” send logs to the socket you specify. ๐Ÿงฆ
  • --req-logger โ€” set/append a request logger. ๐Ÿ—’๏ธ
  • --logger-req โ€” set/append a request logger. ๐Ÿ—’๏ธ
  • --logger โ€” set/append a logger. ๐Ÿ—’๏ธ
  • --logger-list โ€” list the enabled loggers. ๐Ÿ“‹
  • --loggers-list โ€” list enabled loggers. ๐Ÿ“‹
  • --threaded-logger โ€” offloads the log writing to a thread. multitasking queen ๐Ÿ’…
  • --log-encoder โ€” add an item in the log encoder chain. โ›“๏ธ
  • --log-req-encoder โ€” add an item in the log req encoder chain. โ›“๏ธ
  • --log-drain โ€” drain (aka do not show) log lines that match the regexp you specify. bye ๐Ÿ‘‹
  • --log-filter โ€” show only the log lines matching the regexp you specify. picky and valid ๐ŸŽ€
  • --log-route โ€” log to the named logger you specify if the regexp applied to the logline matches. ๐Ÿš
  • --log-req-route โ€” log requests to the named logger you specify if the regexp applied to the logline matches. ๐Ÿš
  • --use-abort โ€” calls abort() on segfault/fpe, which could be useful for generating a core dump. โš ๏ธ
  • --alarm โ€” create a new alarm. syntax: <alarm> <plugin:args>. โฐ


okay bestie, still in OPTIONS, still slaying ๐Ÿ’… this next batch is the alarm-core / logging / routing-industrial-complex era of the config file. hydrate. ๐Ÿ“

๐Ÿ”” alarm core ๐ŸŽ€

  • --alarm-cheap โ€” use the main alarm thread instead of creating dedicated threads for the curl-based alarms. yes queen, reuse the thread, be economical โœจ
  • --alarm-freq โ€” tune the anti-loop alarm system. the default is 3 seconds.
  • --alarm-fd โ€” raise the specified alarm when an fd is read for read. by default it reads 1 byte, set 8 for eventfd.
  • --alarm-segfault โ€” raise the specified alarm when the segmentation fault handler is executed ๐Ÿ’€
  • --segfault-alarm โ€” raise the specified alarm when the segmentation fault handler is executed. (same energy, different spelling, we don't judge ๐Ÿซถ)
  • --alarm-backlog โ€” raise the specified alarm when the socket backlog queue is full.
  • --backlog-alarm โ€” raise the specified alarm when the socket backlog queue is full.
  • --lq-alarm โ€” raise the specified alarm when the socket backlog queue is full.
  • --alarm-lq โ€” raise the specified alarm when the socket backlog queue is full.
  • --alarm-listen-queue โ€” raise the specified alarm when the socket backlog queue is full.
  • --listen-queue-alarm โ€” raise the specified alarm when the socket backlog queue is full. (six names, one behaviour, that's just how the backlog queue do ๐Ÿ˜ญ)
  • --log-alarm โ€” raise the specified alarm when a log line matches the specified regexp. syntax: <alarm>[,alarm...] <regexp>
  • --alarm-log โ€” raise the specified alarm when a log line matches the specified regexp. syntax: <alarm>[,alarm...] <regexp>
  • --not-log-alarm โ€” skip the specified alarm when a log line matches the specified regexp. syntax: <alarm>[,alarm...] <regexp>
  • --not-alarm-log โ€” skip the specified alarm when a log line matches the specified regexp. syntax: <alarm>[,alarm...] <regexp>
  • --alarm-list โ€” list enabled alarms ๐Ÿ‘‘
  • --alarms-list โ€” list enabled alarms
  • --alarm-msg-size โ€” set the max size of an alarm message. default is 8192.

๐Ÿ“ logging era ๐ŸŒธ

  • --log-master โ€” delegate logging to the master process.
  • --log-master-bufsize โ€” set the buffer size for the master logger. bigger log messages will be truncated, so watch that.
  • --log-master-stream โ€” create the master logpipe as SOCK_STREAM.
  • --log-master-req-stream โ€” create the master requests logpipe as SOCK_STREAM.
  • --log-reopen โ€” reopen log after reload ๐Ÿ”„
  • --log-truncate โ€” truncate log on startup.
  • --log-maxsize โ€” set maximum logfile size.
  • --log-backupname โ€” set logfile name after rotation. the glow-up after the chop โœจ
  • --logdate โ€” prefix logs with date or a strftime string.
  • --log-date โ€” prefix logs with date or a strftime string.
  • --log-prefix โ€” prefix logs with a string.
  • --log-zero โ€” log responses without body.
  • --log-slow โ€” log requests slower than the specified number of milliseconds ๐Ÿข
  • --log-4xx โ€” log requests with a 4xx response.
  • --log-5xx โ€” log requests with a 5xx response.
  • --log-big โ€” log requests bigger than the specified size.
  • --log-sendfile โ€” log sendfile requests.
  • --log-ioerror โ€” log requests with io errors.
  • --log-micros โ€” report response time in microseconds instead of milliseconds. precision girlie ๐Ÿ’…
  • --log-x-forwarded-for โ€” use the ip from X-Forwarded-For header instead of REMOTE_ADDR.

๐Ÿงš master, privileges, working dir ๐ŸŒˆ

  • --master-as-root โ€” leave master process running as root. (yes it says what you think it says ๐Ÿซฃ)
  • --drop-after-init โ€” run privileges drop after plugin initialization, superseded by drop-after-apps.
  • --drop-after-apps โ€” run privileges drop after apps loading, superseded by master-as-root.
  • --force-cwd โ€” force the initial working directory to the specified value.
  • --binsh โ€” override /bin/sh (used by exec hooks, it always fallback to /bin/sh).
  • --chdir โ€” chdir to specified directory before apps loading.
  • --chdir2 โ€” chdir to specified directory after apps loading.

๐Ÿ˜ด lazy / cheap / cheaper girlies ๐Ÿ’ค

  • --lazy โ€” set lazy mode (load apps in workers instead of master).
  • --lazy-apps โ€” load apps in each worker instead of the master.
  • --cheap โ€” set cheap mode (spawn workers only after the first request).
  • --cheaper โ€” set cheaper mode (adaptive process spawning).
  • --cheaper-initial โ€” set the initial number of processes to spawn in cheaper mode.
  • --cheaper-algo โ€” choose to algorithm used for adaptive process spawning.
  • --cheaper-step โ€” number of additional processes to spawn at each overload.
  • --cheaper-overload โ€” increase workers after specified overload.
  • --cheaper-algo-list โ€” list enabled cheapers algorithms.
  • --cheaper-algos-list โ€” list enabled cheapers algorithms.
  • --cheaper-list โ€” list enabled cheapers algorithms.
  • --cheaper-rss-limit-soft โ€” don't spawn new workers if total resident memory usage of all workers is higher than this limit.
  • --cheaper-rss-limit-hard โ€” if total workers resident memory usage is higher try to stop workers.
  • --idle โ€” set idle mode (put uWSGI in cheap mode after inactivity).
  • --die-on-idle โ€” shutdown uWSGI when idle ๐Ÿ’€

๐Ÿงต mount + threads โญ

  • --mount โ€” load application under mountpoint.
  • --worker-mount โ€” load application under mountpoint in the specified worker or after workers spawn.
  • --threads โ€” run each worker in prethreaded mode with the specified number of threads.
  • --thread-stacksize โ€” set threads stacksize.
  • --threads-stacksize โ€” set threads stacksize.
  • --thread-stack-size โ€” set threads stacksize.
  • --threads-stack-size โ€” set threads stacksize. (four spellings, one stack, iconic ๐Ÿ˜Œ)

๐Ÿ’œ vhost ๐ŸŒ

  • --vhost โ€” enable virtualhosting mode (based on SERVER_NAME variable).
  • --vhost-host โ€” enable virtualhosting mode (based on HTTP_HOST variable).

๐Ÿฆ‹ ROUTING โ€” main character section, pay attention ๐Ÿซถ

this is where uWSGI stops being a server and starts being a matchmaker. every --route* needs a route ๐Ÿ’–

  • --route โ€” add a route.
  • --route-host โ€” add a route based on Host header.
  • --route-uri โ€” add a route based on REQUEST_URI.
  • --route-qs โ€” add a route based on QUERY_STRING.
  • --route-remote-addr โ€” add a route based on REMOTE_ADDR.
  • --route-user-agent โ€” add a route based on HTTP_USER_AGENT.
  • --route-remote-user โ€” add a route based on REMOTE_USER.
  • --route-referer โ€” add a route based on HTTP_REFERER.
  • --route-label โ€” add a routing label (for use with goto).
  • --route-if โ€” add a route based on condition.
  • --route-if-not โ€” add a route based on condition (negate version).
  • --route-run โ€” always run the specified route action ๐Ÿ’…

๐Ÿšช final routes ๐Ÿšช

these run last, periodt.

  • --final-route โ€” add a final route.
  • --final-route-status โ€” add a final route for the specified status.
  • --final-route-host โ€” add a final route based on Host header.
  • --final-route-uri โ€” add a final route based on REQUEST_URI.
  • --final-route-qs โ€” add a final route based on QUERY_STRING.
  • --final-route-remote-addr โ€” add a final route based on REMOTE_ADDR.
  • --final-route-user-agent โ€” add a final route based on HTTP_USER_AGENT.
  • --final-route-remote-user โ€” add a final route based on REMOTE_USER.
  • --final-route-referer โ€” add a final route based on HTTP_REFERER.
  • --final-route-label โ€” add a final routing label (for use with goto).
  • --final-route-if โ€” add a final route based on condition.
  • --final-route-if-not โ€” add a final route based on condition (negate version).
  • --final-route-run โ€” always run the specified final route action.

๐Ÿ’€ error routes ๐Ÿ’€

for when things go sideways and we still want to be elegant about it.

  • --error-route โ€” add an error route.
  • --error-route-status โ€” add an error route for the specified status.
  • --error-route-host โ€” add an error route based on Host header.
  • --error-route-uri โ€” add an error route based on REQUEST_URI.
  • --error-route-qs โ€” add an error route based on QUERY_STRING.
  • --error-route-remote-addr โ€” add an error route based on REMOTE_ADDR.
  • --error-route-user-agent โ€” add an error route based on HTTP_USER_AGENT.
  • --error-route-remote-user โ€” add an error route based on REMOTE_USER.
  • --error-route-referer โ€” add an error route based on HTTP_REFERER.
  • --error-route-label โ€” add an error routing label (for use with goto).
  • --error-route-if โ€” add an error route based on condition.
  • --error-route-if-not โ€” add an error route based on condition (negate version).
  • --error-route-run โ€” always run the specified error route action.

๐ŸŒธ response routes ๐ŸŒธ

  • --response-route โ€” add a response route.
  • --response-route-status โ€” add a response route for the specified status.
  • --response-route-host โ€” add a response route based on Host header.
  • --response-route-uri โ€” add a response route based on REQUEST_URI.
  • --response-route-qs โ€” add a response route based on QUERY_STRING.
  • --response-route-remote-addr โ€” add a response route based on REMOTE_ADDR.
  • --response-route-user-agent โ€” add a response route based on HTTP_USER_AGENT.
  • --response-route-remote-user โ€” add a response route based on REMOTE_USER.
  • --response-route-referer โ€” add a response route based on HTTP_REFERER.
  • --response-route-label โ€” add a response routing label (for use with goto).
  • --response-route-if โ€” add a response route based on condition.
  • --response-route-if-not โ€” add a response route based on condition (negate version).
  • --response-route-run โ€” always run the specified response route action.
  • --router-list โ€” list enabled routers โœจ
  • --routers-list โ€” list enabled routers

๐ŸŽ€ error pages, websockets, chunked input ๐ŸŽ€

  • --error-page-403 โ€” add an error page (html) for managed 403 response.
  • --error-page-404 โ€” add an error page (html) for managed 404 response.
  • --error-page-500 โ€” add an error page (html) for managed 500 response.
  • --websockets-ping-freq โ€” set the frequency (in seconds) of websockets automatic ping packets.
  • --websocket-ping-freq โ€” set the frequency (in seconds) of websockets automatic ping packets.
  • --websockets-pong-tolerance โ€” set the tolerance (in seconds) of websockets ping/pong subsystem.
  • --websocket-pong-tolerance โ€” set the tolerance (in seconds) of websockets ping/pong subsystem.
  • --websockets-max-size โ€” set the max allowed size of websocket messages (in Kbytes, default 1024).
  • --websocket-max-size โ€” set the max allowed size of websocket messages (in Kbytes, default 1024).
  • --chunked-input-limit โ€” set the max size of a chunked input part (default 1MB, in bytes).
  • --chunked-input-timeout โ€” set default timeout for chunked input.

โฐ clocks ๐Ÿ•ฐ๏ธ

  • --clock โ€” set a clock source.
  • --clock-list โ€” list enabled clocks. ๐Ÿ•๐Ÿ•‘๐Ÿ•’
  • --clocks-list โ€” bestie, this just lists all the enabled clocks โœจ like a lil roster of every clock that's switched on rn.
  • --add-header โ€” sprinkles HTTP headers onto the response for you, automatically ๐Ÿ’… no manual labour.
  • --rem-header โ€” yeets the specified HTTP header out of the response, automatic mode ๐Ÿซถ that header is gone.
  • --del-header โ€” literally the same vibe as --rem-header: it automatically removes the specified HTTP header from the response.
  • --collect-header โ€” stashes the specified response header into a request var ๐ŸŽ€ syntax goes like header var.
  • --response-header-collect โ€” same energy bestie: stores the specified response header in a request var (syntax: header var).
  • --pull-header โ€” stores the specified response header in a request var and rips it out of the response, like it never happened ๐Ÿ™ˆ syntax: header var.
  • --check-static โ€” goes looking for static files in the directory you point at ๐Ÿ‘€.
  • --check-static-docroot โ€” checks for static files inside the requested DOCUMENT_ROOT ๐ŸŒธ.
  • --static-check โ€” yep, checking for static files in the specified directory, iconic behaviour.
  • --static-map โ€” maps a mountpoint onto a static directory (or a file) ๐Ÿ—บ๏ธโœจ.
  • --static-map2 โ€” like --static-map but it completely appends the requested resource to the docroot, no half measures ๐Ÿ”ฅ.
  • --static-skip-ext โ€” tells staticfile checks to skip the specified extension, bye bye ๐Ÿ’€.
  • --static-index โ€” if someone requests a directory, this hunts down the specified file instead ๐Ÿฆ‹.
  • --static-safe โ€” if the file lives under the specified path, it skips the security checks ๐Ÿ™ˆ.
  • --static-cache-paths โ€” drops resolved paths into the uWSGI cache for however many seconds you say โฑ๏ธ.
  • --static-cache-paths-name โ€” uses the cache you specify for static paths, main character choice ๐Ÿ‘‘.
  • --mimefile โ€” sets the mime types file path (default /etc/mime.types) ๐Ÿ“„.
  • --mime-file โ€” identical twin fr fr: sets the mime types file path (default /etc/mime.types).
  • --static-expires-type โ€” sets the Expires header based on content type โœจ.
  • --static-expires-type-mtime โ€” sets the Expires header based on content type and file mtime ๐Ÿ•ฐ๏ธ.
  • --static-expires โ€” sets the Expires header based on a filename regexp ๐Ÿ”.
  • --static-expires-mtime โ€” sets the Expires header based on a filename regexp and file mtime.
  • --static-expires-uri โ€” sets the Expires header based on a REQUEST_URI regexp ๐ŸŒˆ.
  • --static-expires-uri-mtime โ€” sets the Expires header based on a REQUEST_URI regexp and file mtime.
  • --static-expires-path-info โ€” sets the Expires header based on a PATH_INFO regexp ๐Ÿ’œ.
  • --static-expires-path-info-mtime โ€” sets the Expires header based on a PATH_INFO regexp and file mtime.
  • --static-gzip โ€” if your supplied regexp matches the static file translation, it goes hunting for a gzip version ๐Ÿ—œ๏ธโœจ.
  • --static-gzip-all โ€” checks for a gzip version of, like, all the requested static files, no skips.
  • --static-gzip-dir โ€” checks for a gzip version of all requested static files in the specified dir/prefix ๐Ÿ“.
  • --static-gzip-prefix โ€” same deal bestie: checks for a gzip version of all requested static files in the specified dir/prefix.
  • --static-gzip-ext โ€” checks for a gzip version of all requested static files with the specified ext/suffix ๐ŸŽ€.
  • --static-gzip-suffix โ€” yep, checks for a gzip version of all requested static files with the specified ext/suffix.
  • --honour-range โ€” switches on support for the HTTP Range header ๐Ÿ’… respect the range.
  • --offload-threads โ€” sets how many offload threads to spawn (per-worker, default 0) ๐Ÿงต.
  • --offload-thread โ€” same thing, singular swag: sets the number of offload threads to spawn (per-worker, default 0).
  • --file-serve-mode โ€” sets the static file serving mode ๐Ÿ“.
  • --fileserve-mode โ€” also sets the static file serving mode, twin energy.
  • --disable-sendfile โ€” turns off sendfile() and makes it rely on boring old read()/write() ๐Ÿ˜ด.
  • --check-cache โ€” checks for response data in the specified cache (leave it empty for the default cache) ๐Ÿ”.
  • --close-on-exec โ€” sets close-on-exec on connection sockets (could be required for spawning processes in requests) ๐Ÿซถ.
  • --close-on-exec2 โ€” sets close-on-exec on server sockets (could be required for spawning processes in requests).
  • --mode โ€” sets a uWSGI custom mode ๐Ÿ‘‘.
  • --env โ€” sets an environment variable ๐ŸŒฑ.
  • --envdir โ€” loads a daemontools compatible envdir ๐Ÿ“.
  • --early-envdir โ€” loads a daemontools compatible envdir ASAP โšก no waiting around.
  • --unenv โ€” unsets an environment variable, poof gone ๐Ÿ’จ.
  • --vacuum โ€” tries to remove all of the generated file/sockets ๐Ÿงน spring cleaning.
  • --file-write โ€” writes the specified content to the specified file (syntax: file=value) before privileges drop ๐Ÿ”.
  • --cgroup โ€” puts the processes into the specified cgroup ๐Ÿซ‚.
  • --cgroup-opt โ€” sets a value in the specified cgroup option โš™๏ธ.
  • --cgroup-dir-mode โ€” sets permission for the cgroup directory (default is 700) ๐Ÿ”’.
  • --namespace โ€” runs in a new namespace under the specified rootfs ๐ŸŒŒ.
  • --namespace-keep-mount โ€” keeps the specified mountpoint inside your namespace ๐Ÿ“Œ.
  • --ns โ€” runs in a new namespace under the specified rootfs (same as --namespace, cute short nickname).
  • --namespace-net โ€” adds a network namespace ๐ŸŒ.
  • --ns-net โ€” adds a network namespace, the short-name twin.
  • --enable-proxy-protocol โ€” enables PROXY1 protocol support (only for http parsers) ๐Ÿงš.
  • --reuse-port โ€” enables the REUSE_PORT flag on the socket (BSD only) ๐Ÿก.
  • --tcp-fast-open โ€” enables the TCP_FASTOPEN flag on TCP sockets with the qlen value you give โšก.
  • --tcp-fastopen โ€” enables the TCP_FASTOPEN flag on TCP sockets with the specified qlen value.
  • --tcp-fast-open-client โ€” uses sendto(..., MSG_FASTOPEN, ...) instead of connect() if it's supported ๐Ÿš€.
  • --tcp-fastopen-client โ€” same: uses sendto(..., MSG_FASTOPEN, ...) instead of connect() if supported.
  • --zerg โ€” attaches to a zerg server ๐Ÿ‘พ.
  • --zerg-fallback โ€” falls back to normal sockets if the zerg server isn't available ๐Ÿ›Ÿ.
  • --zerg-server โ€” enables the zerg server on the specified UNIX socket ๐Ÿ”Œ.
  • --cron โ€” adds a cron task โฐ.
  • --cron2 โ€” adds a cron task, key=val syntax flavour ๐Ÿ—๏ธ.
  • --unique-cron โ€” adds a unique cron task โœจ one of a kind.
  • --cron-harakiri โ€” sets the maximum time (in seconds) we wait for a cron command to complete โณ.
  • --legion-cron โ€” adds a cron task that only runs when the instance is a lord of the specified legion ๐Ÿ‘‘.
  • --cron-legion โ€” adds a cron task runnable only when the instance is a lord of the specified legion.
  • --unique-legion-cron โ€” adds a unique cron task runnable only when the instance is a lord of the specified legion ๐Ÿ’œ.
  • --unique-cron-legion โ€” adds a unique cron task runnable only when the instance is a lord of the specified legion.
  • --loop โ€” selects the uWSGI loop engine ๐Ÿ”„.
  • --loop-list โ€” lists the enabled loop engines ๐Ÿ“‹.
  • --loops-list โ€” lists the enabled loop engines (same vibe, plural).
  • --worker-exec โ€” runs the specified command as a worker ๐Ÿ‘ท.
  • --worker-exec2 โ€” runs the specified command as a worker (after the post_fork hook) ๐Ÿช.
  • --attach-daemon โ€” attaches a command/daemon to the master process (the command has to not go in background) ๐Ÿงท.
  • --attach-control-daemon โ€” attaches a command/daemon to the master process (the command has to not go in background), and when the daemon dies, the master dies too ๐Ÿ’€ ride or die.
  • --smart-attach-daemon โ€” attaches a command/daemon to the master process managed by a pidfile (the command has to daemonize) ๐Ÿง .
  • --smart-attach-daemon2 โ€” attaches a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize) ๐Ÿ™ƒ.
  • --legion-attach-daemon โ€” same as --attach-daemon but the daemon only runs on a legion lord node ๐Ÿ‘‘.
  • --legion-smart-attach-daemon โ€” same as --smart-attach-daemon but the daemon runs only on a legion lord node.
  • --legion-smart-attach-daemon2 โ€” same as --smart-attach-daemon2 but the daemon runs only on a legion lord node.
  • --daemons-honour-stdin โ€” do not change the stdin of external daemons to /dev/null ๐Ÿ™Œ.
  • --attach-daemon2 โ€” the attach-daemon keyval variant (supports smart modes too) ๐Ÿ”‘.
  • --plugins โ€” loads uWSGI plugins ๐Ÿงฉ.
  • --plugin โ€” loads uWSGI plugins (singular edition).
  • --need-plugins โ€” loads uWSGI plugins and exits on error ๐Ÿšจ.
  • --need-plugin โ€” loads uWSGI plugins, exit on error, singular.
  • --plugins-dir โ€” adds a directory to the uWSGI plugin search path ๐Ÿ—‚๏ธ.
  • --plugin-dir โ€” adds a directory to the uWSGI plugin search path, twin.
  • --plugins-list โ€” lists the enabled plugins ๐Ÿ“œ.
  • --plugin-list โ€” lists the enabled plugins, same.
  • --autoload โ€” tries to automatically load plugins when it finds unknown options ๐Ÿช„.
  • --dlopen โ€” blindly loads a shared library ๐Ÿ™ˆ no questions asked.
  • --allowed-modifiers โ€” a comma separated list of allowed modifiers ๐Ÿ“.
  • --remap-modifier โ€” remaps a request modifier from one id to another ๐Ÿ”.
  • --dump-options โ€” dumps the full list of available options ๐Ÿ“ค.
  • --show-config โ€” shows the current config reformatted as ini ๐ŸŽ€.
  • --binary-append-data โ€” returns the content of a resource to stdout for appending to a uwsgi binary (for data:// usage) ๐Ÿงฌ.
  • --print โ€” simple print ๐Ÿ–จ๏ธ.
  • --iprint โ€” simple print, immediate version โšก.
  • --exit โ€” forces exit() of the instance ๐Ÿšช bye bestie.
  • --cflags โ€” reports uWSGI CFLAGS (useful for building external plugins) ๐Ÿ› ๏ธ.
  • --dot-h โ€” dumps the uwsgi.h used for building the core (useful for building external plugins) ๐Ÿ“ฆ.
  • --config-py โ€” dumps the uwsgiconfig.py used for building the core (useful for building external plugins) ๐Ÿ.
  • --build-plugin โ€” builds a uWSGI plugin for the current binary ๐Ÿ—๏ธ.
  • --version โ€” prints the uWSGI version ๐ŸŒŸ.
  • --response-headers-limit โ€” sets the response header maximum size (default: 64k) ๐Ÿ“.

And that's a wrap on the whole page, bestie ๐Ÿ˜ญ๐Ÿ’– this was uwsgi_sqlite3, version 2.0.31-debian, dated July 2026 โ€” and yes that's the UWSGI_SQLITE3(1) manual you just devoured top to bottom. Go forth and configure, you absolute queen ๐Ÿ‘‘โœจ

๐Ÿ“ฆ where this page comes from