mirror of
https://github.com/go-gitea/gitea.git
synced 2026-07-17 15:14:17 -05:00
Install first user from config #1199
Closed
opened 2025-11-02 03:52:08 -06:00 by GiteaMirror
·
12 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/proposal
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#1199
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @willis7 on GitHub (Nov 1, 2017).
Description
As a non-UI user I would like to programmatically start Gitea with the first user installed. I would be happy to supply an Environment Variable, but would prefer to include it in my
app.ini.@0rzech commented on GitHub (Nov 26, 2017):
Perhaps environment variables could be used instead of app.ini, eg.
GITEA_ADMIN_USER,GITEA_ADMIN_PASSWORDandGITEA_ADMIN_EMAIL, like suggested in #1525. This way app.ini would be free from storing yet another password.@jmls commented on GitHub (Sep 12, 2018):
has there been any movement on this ? I am looking to do the same thing
@marklee77 commented on GitHub (Feb 1, 2019):
install/setup wizards are the wrong way to do things. It should be possible (and easy) to stand up an instance without any user interaction whatsoever.
@marklee77 commented on GitHub (Feb 1, 2019):
okay, maybe that was a little strong, but I really don't like interactive setup wizards as a standard way to do things.
@zeripath commented on GitHub (Feb 1, 2019):
Can't this be solved with:
gitea admin create-user@marklee77 commented on GitHub (Feb 1, 2019):
that would be helpful for the comment by 0rzech, but doesn't address the actual request, which is to have a way to set up/configure gitea without using the gui.
@zeripath commented on GitHub (Feb 2, 2019):
You don't need the UI to run
gitea admin create-user- but you do need Gitea to be running. I'm not immediately sure how to prevent the first user registration getting admin - as I'm on my phone - so I guess there could be a race here if you allow auto registration? But I think that's solvable -if we find where that happens we can write an option to disable that, if it's not already configurable.I don't think putting more user config into the app.ini is the right thing at all. We already have trouble with people complaining about the SECRETs in there already. So that's a no - and PRs that do that will get a nack from me.
So, what's the underlying circumstance where this kind of environment variable is required? You're talking about docker aren't you?
Ok,
gitea admincan't be run until the server is up. So you can't do it until https://github.com/go-gitea/gitea/blob/master/docker/etc/s6/gitea/run has run.So perhaps after
https://github.com/go-gitea/gitea/blob/master/docker/usr/bin/entrypoint#L36
We could add the code to do the check if the admin user bunf is set. But what do you do if the admin user is there?
@marklee77 commented on GitHub (Feb 2, 2019):
The use case is to completely automate the stand up of and tear down of gitea so you can CI your devops workflow and have something you can evaluate in a staging environment before deploying to production. I worked around the issue by taking a database dump and then setting up my mysql container to pre-create the login_source and user table entries, but that's not totally ideal. I agree you shouldn't be putting secrets in the app.ini, but it should be possible to read those in from files at startup so you can use something like vault to mount the secrets in the container on startup on ram-backed storage.
@zeripath commented on GitHub (Feb 2, 2019):
But why can't
gitea admin create-userform part of that CI setup? See: https://github.com/bozaro/git-as-svn/blob/master/src/test/java/svnserver/ext/gitea/GiteaIntegrationTest.java@marklee77 commented on GitHub (Feb 2, 2019):
Actually, for the initial setup of the admin user that's not a bad idea. It would be slightly nicer if the entrypoint supported user-supplied init scripts, but it's not difficult to work around that. The actual thing that I wish were easier to do without logging in as the admin user is setting up auth to an internal ldap server with a private certificate authority. In any case, as I've said, I have gotten this working for now, I just have to add creating the table and inserting some entries into the mysql initialization scripts.
@marklee77 commented on GitHub (Feb 2, 2019):
I suppose this has gotten slightly off the issue topic, I should probably just add a request for more ability to configure the auth backends from the command line.
@techknowlogick commented on GitHub (Feb 2, 2019):
Closing this as users can be created from CLI, so if some users need this they can instead add an additional step to provision.
In terms of adding new auth systems, adding OAUTH works from CLI, and a new ticket can be opened for working with other types of auth.