1Panel without CAPTCHA. Default login admin/1panel_password. Based on moelin/1panel.
66
1Panel management panel with the login CAPTCHA permanently disabled, so it never appears again regardless of login attempts.
moelin/1panel:latest (community build)1panel-core binary — the in-memory IP tracker function (*IPTracker).NeedCaptcha is patched to always return false. CAPTCHA can never be triggered, even after repeated failed logins.Both the upstream moelin/1panel and the official 1panel images include a login CAPTCHA. It is a math-problem CAPTCHA (NewDriverMath) that is only demanded once your IP has been flagged after failed logins. Many users (including automated onboarding) get stuck in a loop: wrong password → IP flagged → CAPTCHA required on every login → CAPTCHA frequently mis-typed or failed.
This image eliminates the CAPTCHA entirely so logins only need the correct username and password.
| Symbol | Original behavior | After patch |
|---|---|---|
core/init/auth.(*IPTracker).NeedCaptcha | Returns true for flagged IPs | Always returns false (prologue → xor eax,eax; ret) |
Only those 3 bytes of the binary differ from the base image. Everything else — entrypoint, config, DB, app storage — is identical.
ErrAuth) → GET /api/v2/core/auth/setting still returns "needCaptcha":false.HTTP 200, role ADMIN.docker run -d --name 1panel \
-e TZ=Asia/Jakarta \
-e PASSWORD=<your-password> \
-v /DATA/AppData/1panel/root:/root \
-v /DATA/AppData/1panel/opt:/opt \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-p 10086:10086 \
--restart unless-stopped \
dickyasqaelani/1panel-captcha-bypassed:latest
Default login:
admin/1panel_passwordif you don't setPASSWORD. The upstream random-password behavior for the value1panel_passwordis removed in this image, so the default is always the known password1panel_password.
1Panel data must live on the host so upgrades don't lose your panels, apps and databases:
mkdir -p /DATA/AppData/1panel/root /DATA/AppData/1panel/opt
docker run -d --name 1panel \
-e TZ=Asia/Jakarta \
-e PASSWORD=<your-password> \
-v /DATA/AppData/1panel/root:/root \
-v /DATA/AppData/1panel/opt:/opt \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-p 10086:10086 \
--restart unless-stopped \
dickyasqaelani/1panel-captcha-bypassed:latest
| Item | Value | Purpose |
|---|---|---|
| Port | 10086 | Web UI (optionally behind the /entrance path) |
| Volume | /root | 1Panel home files |
| Volume | /opt | Config, DB (/opt/1panel/db/core.db), logs, apps |
| Volume | /var/run/docker.sock | Container management via Docker socket |
| Volume | /var/lib/docker/volumes | Access to Docker named volumes for Apps |
| Variable | Default | Description |
|---|---|---|
TZ | Asia/Shanghai | Timezone |
PASSWORD | 1panel_password | Initial panel admin password. Defaults to 1panel_password (a known value — the upstream rule that randomizes 1panel_password is removed). Only an explicitly empty value triggers randomization |
USERNAME | 1panel | Initial panel admin username |
RESET | false | Force re-running the initialization on start |
moelin/1panelBecause state (DB and config) lives on the host volumes, you can switch images without data loss:
# stop & remove old container (volumes are NOT deleted)
docker stop 1panel && docker rm 1panel
# run the patched image with the same mounts
docker run -d --name 1panel \
-e PASSWORD=<same-password> \
-v /DATA/AppData/1panel/root:/root \
-v /DATA/AppData/1panel/opt:/opt \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-p 10086:10086 \
--restart unless-stopped \
dickyasqaelani/1panel-captcha-bypassed:latest
# if the password was randomized before, reset it:
docker exec 1panel /usr/local/bin/1pctl update password
docker exec 1panel /usr/local/bin/1pctl update password
Removing the CAPTCHA lowers brute-force resistance slightly. The panel still logs failed login attempts and IP-flagging still exists internally; only the CAPTCHA UI check is bypassed. Use a strong password (the panel warns about weak ones by default).
Content type
Image
Digest
sha256:0102e4721…
Size
206.2 MB
Last updated
11 days ago
docker pull dickyasqaelani/1panel-captcha-bypassed