forked from NYANDEV/forgejo
d887235e08
Add the FORGEJO__ prefix as equivalent to GITEA__ when interpreted by environment-to-ini. It is used when running the Forgejo container like so: docker run --name forgejo -e FORGEJO__security__INSTALL_LOCK=true \ -d codeberg.org/forgejo/forgejo:1.18 Signed-off-by: Earl Warren <contact@earl-warren.org> (cherry picked from commit 6cd61e2ab701ae9236ff9a68520ee1e2d03e6193) (cherry picked from commit 62cae8cc6a6ddc9e5bb066c81834b75cef3be29f) (cherry picked from commit aee1afc5097531b2740b2aa8ef4aef745e7a1be0) (cherry picked from commit 6ba563cd9b09d012a804f3f438c5ae4e38ca6ced) |
||
---|---|---|
.. | ||
environment-to-ini.go | ||
environment-to-ini_test.go | ||
README |
Environment To Ini ================== Multiple docker users have requested that the Gitea docker is changed to permit arbitrary configuration via environment variables. Gitea needs to use an ini file for configuration because the running environment that starts the docker may not be the same as that used by the hooks. An ini file also gives a good default and means that users do not have to completely provide a full environment. With those caveats above, this command provides a generic way of converting suitably structured environment variables into any ini value. To use the command is very simple just run it and the default gitea app.ini will be rewritten to take account of the variables provided, however there are various options to give slightly different behavior and these can be interrogated with the `-h` option. The environment variables should be of the form: GITEA__SECTION_NAME__KEY_NAME Note, SECTION_NAME in the notation above is case-insensitive. Environment variables are usually restricted to a reduced character set "0-9A-Z_" - in order to allow the setting of sections with characters outside of that set, they should be escaped as following: "_0X2E_" for "." and "_0X2D_" for "-". The entire section and key names can be escaped as a UTF8 byte string if necessary. E.g. to configure: """ ... [log.console] COLORIZE=false STDERR=true ... """ You would set the environment variables: "GITEA__LOG_0x2E_CONSOLE__COLORIZE=false" and "GITEA__LOG_0x2E_CONSOLE__STDERR=false". Other examples can be found on the configuration cheat sheet. To build locally, run: go build contrib/environment-to-ini/environment-to-ini.go