mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-26 08:41:08 -05:00
Gitea/swag (nginx/fail2ban) not allowing pulls sometimes when using docker compose #12192
Closed
opened 2025-11-02 10:01:36 -06:00 by GiteaMirror
·
7 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
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#12192
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 @jessielw on GitHub (Dec 12, 2023).
Description
Since
v1.21I can no longer pull from my package repository. It just hangs there and in the logs it shows the below information. I have no issues pulling from a normal repository or pushing to either of them.I changed nothing on my configuration other than updating gitea.
Gitea Version
Current nightly build
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
https://gist.github.com/jlw4049/80563ff5c54f578001cb32a0a6568421
Screenshots
No response
Git Version
nightly
Operating System
Docker/UnRaid
How are you running Gitea?
In docker on UnRaid
Database
MySQL/MariaDB
@KN4CK3R commented on GitHub (Dec 13, 2023):
The client just hangs? There are 6 successfull requests to
/v2and/v2/token. I don't see the responsibility of Gitea at the moment.@jessielw commented on GitHub (Dec 13, 2023):
That's what has me confused. I haven't changed anything at all.
I just cleared my docker login.json once, re-logged into gitea was able to do 1 successful pull. Tried again and I'm getting errors on the client.
On the host, which doesn't come up EVERYTIME via gitea logs, I sometimes get this when trying to pull
I've tested this against 2 clients, but my config didn't change. It's been the same through out.
I'm hosting my gitea from a server through nginx. I'm using a
subfolderwith a setup like so. Perhaps it's the cause, but I'm not sure why it would break all of a sudden after working for about 4 months since initial setup.@KN4CK3R commented on GitHub (Dec 13, 2023):
That's ok because the
/v2request is just a "is there a container registry" test which expects a 401 response.Do you see follow up requests on nginx?
@jessielw commented on GitHub (Dec 13, 2023):
So to reproduce the bug. I can just use a normal
docker pull site/jlw_4049/package:latestover and over again, works 100% of the time. However, when I try to run it in adocker compose upcommand, it will fail like the above errors I showed you after hanging.Once this happens I can no longer pull it with
docker pullfor quite some time.I will then get errors like this on the client
Error response from daemon: Get "https://website.com/v2/": dial tcp IP:443: connect: connection refusedEventually it'll allow the connection again and docker pull will work but docker compose will never work.
Now on the nginx side of things when it fails, it does not appear to be in the
nginxaccess.log. It appears that it never reaches it.When it works, it shows up in both the nginx logs as well as gitea logs. When it fails, it just does nothing and on the client side says
connection refusedI appreciate the responses so far!
@jessielw commented on GitHub (Dec 14, 2023):
I wanted to say I figured out why this issue was happening. I'm not really sure why it started happening all of a sudden when it's been working just fine for about 4 months.
I was looking in my swag logs, poking around to see if I could figure out traces of where the remote IP was failing. As I checked my firewall and it was passing through there, but being denied somewhere between the firewall and gitea after the initial request.
I found these logs when it was failing being produced via the built in
fail2baninside ofswag(my reverse proxy container)This sent me down the path of trying to figure out why it was blocking it sometimes and would lock me out for quite some time. I found this thread here, allowing me to figure out what was going on.
So back to the error I was having. With docker compose I was wanting to pull the same image from the host 6 times essentially (I only want to pull it once and use it in the compose for 6 services), this causes 6 401's.
fail2ban is set by default (at least in swag) to only allow 5. The work around here was to modify the fail2ban config, I just bumped this up to 12 for now and it had no issues pulling the compose down.
Is this advised?
Is there a reason why there is 6 "tests" that needs to be sent expecting
401for the same image?@KN4CK3R commented on GitHub (Dec 15, 2023):
Great that you found the reason. The 6 requests are from the Docker client, Gitea just answers.
@jessielw commented on GitHub (Dec 15, 2023):
Thanks, I'll adjust this title in case someone else comes across the same issues and close this. Thanks for the responses!