mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-06 03:27:53 -05:00
[GH-ISSUE #2173] Startup reproducibly fails with "failed to create test file" in docker rootless mode on current unstable #6575
Closed
opened 2026-04-20 17:10:27 -05:00 by GiteaMirror
·
13 comments
No Branch/Tag Specified
main
renovate/dev-dependencies
feat-v2-foundation
dependabot/npm_and_yarn/frontend/axios-1.15.2
spike-huma-openapi3
claude/investigate-swagger3-support-nyyUa
feat-list-view-buckets
ci-mysql-8-test
codex/analyze-codebase-for-email-task-feature
feat-project-templates
csv-import-feature
claude/email-reply-comments-wpdcQ
fix-oidc-pkce-support
fix/overview-subtasks-expand
feat/bucket-select-task-detail
feat-soft-delete-projects
claude/review-bot-design-plan-cf5C3
claude/project-scoped-api-tokens-KTqR3
claude/explore-openclaw-integration-KQEzg
claude/project-scoped-api-tokens-yv5KS
fix-duplicate-close-button
feat-list-view-sorting
feat/official-vite-sentry-plugin
feat/highlight-overdue-tasks
feat/add-enter-key-form-submission-handling
feat/TipTap-nits
feat/update-caldavtimetotimestamp-parsing
feat-phosphor-icons
wip-plans
claude/investigate-issue-2173-llKme
fix-description-text-drag
feat-custom-keyboard-shortcuts
pr-1845-ci
codex/fix-drag-and-drop-behavior-inconsistency
copilot/add-clickable-labels-for-filtering
copilot/fix-issue-1786
playwright-migration
fix-kanban-repeating-wip
copilot/fix-1498
feature/replace-axios
codex/upgrade-to-tailwind-4.1.8-using-pnpm
codex/add-cypress-test-for-avatar-types
feature/biome
feature/oxc
codex/update-flexsearch-to-0.8.205
4r6ni9-codex/fix-deprecated-sass-@import-usage
codex/fix-deprecated-sass-@import-usage
codex/add-cypress-test-for-task-list-refresh-fix
codex/fix-quick-add-magic-not-adding-tasks
codex/fix-all-type-errors
codex/fix-mimetype-for-docs.json
feature/caldav-from-scratch
feature/gh-actions-hetzner
fix-ci
feat/new-logger
jyte-better-dev-config
feat/add-team-member-with-enter
fix/button-and-icon-types
fix/notifications-component-name-collision
feature/null-time
renovate/tailwindcss-4.x
feature/unplugin-vue-router
fix/deprecated-import
feature/zod-schema
renovate/golangci-golangci-lint-1.x
fix/tiptap-editor-reactive-destructuring
release/0.24
feat/improve-add-task
fix/saved-filter-search
feat/webp-and-avif-attachment-previews
feature/migrate-back-to-bulma
fix/sass-add-missing-list-import
feature/sticky-demo-bar
fix/gantt-view-switch
feature/typesense-position-join
feature/focus-visible
dependencies/golangci-lint
feature/better-filter-syntax
fix/tiptap-task-list
renovate/github.com-golang-jwt-jwt-v4-5.x
feature/hide-forbidden-related-tasks
renovate/golang-1.x
release/0.20
release/0.17
release/0.16
release/0.15
release/0.14
v2.3.0
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.1.0
v1.0.0
v1.0.0-rc4
v1.0.0-rc3
v1.0.0-rc2
v1.0.0-rc1
v1.0.0-rc0
v0.24.6
v0.24.5
v0.24.4
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.0
v0.22.1
v0.22.0
0.21.0
v0.21.0
v0.20.4
v0.20.5
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.2
v0.19.1
v0.19.0
vue3
v0.18.1
v0.18.0
v0.17.1
v0.17.0
v0.16.1
v0.16.0
v0.15.1
v0.15.0
v0.14.1
v0.14.0
v0.13.1
v0.13
v0.12
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
Labels
Clear labels
area/api
area/attachments
area/auth
area/avatars
area/backup-restore
area/caldav
area/calendar-view
area/comments
area/config
area/database
area/desktop
area/docker
area/email
area/favorites
area/filters
area/frontend
area/gantt
area/i18n
area/import-export
area/internal-code
area/kanban
area/labels
area/list-view
area/mobile
area/notifications
area/permissions
area/projects
area/pwa
area/recurring-tasks
area/reminders
area/search
area/shortcuts
area/subtasks
area/sync
area/table-view
area/task-editor
area/task-metadata
area/task-relations
area/teams
area/theming
area/time-tracking
area/typesense
area/views
area/webhooks
bug
changes requested
concern/accessibility
concern/performance
concern/regression
concern/ux
confirmed
db/mysql
dependencies
enhancement
good first issue
help wanted
integration/inbound
integration/outbound
kind/bug
kind/feature
needs reproduction
pull-request
question
security
support
upstream issue
waiting for reply
wontfix
Mirrored from GitHub Pull Request
No Label
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/vikunja#6575
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 @liquidat on GitHub (Jan 28, 2026).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/2173
Pre-submission checklist
Description
The error in #2162 persists even with newest
:unstable, and is easily reproducible on other systems as well. The fix posted there does not solve the problem.(I would have reopened the issue #2162, but that is not possible, hence the new bug report.)
Summary
If running in docker rootless, container fails to start with error message:
Steps to reproduce
Tested on Ubunuo 20.04, Rocky 9.7
sudo adduser testusersudo machinectl shell testuser@/bin/dockerd-rootless-setuptool.sh installsystemctl --user start dockerdocker run -it --rm -p 3456:3456 -v local-volume:/app/vikunja/files -e "VIKUNJA_SERVICE_PUBLICURL=https://vikunja.something.com" -e "VIKUNJA_DATABASE_HOST=localhost" -e "VIKUNJA_DATABASE_PASSWORD=Something-Something-Something" -e "VIKUNJA_DATABASE_TYPE=postgres" -e "VIKUNJA_DATABASE_USER=vikunja" -e "VIKUNJA_DATABASE_DATABASE=vikunja" vikunja/vikunja:unstable doctorActual output
Vikunja Version
unstable, sha256:75fcfcf3820134b1a02a39b2f21cf53b0b70ab230b9bd5b0d8078c6608ab162a
Browser and version
No response
Can you reproduce the bug on the Vikunja demo site?
No
Screenshots
No response
@BloosT1337 commented on GitHub (Jan 28, 2026):
Same here.
@kolaente commented on GitHub (Jan 28, 2026):
Can you check:
@BloosT1337 commented on GitHub (Jan 28, 2026):
I added the user: "0:0" to the compose file. It Worked. Thank you very much !
@liquidat commented on GitHub (Jan 28, 2026):
@kolaente
Yes, as indicated above, this is a rootless docker environment.
I launched the container not with docker compose in this example, but directly. But even then, or with Docker Compose, the problem persists:
I tested with both named volume and a directory in the home dir of the user, it does not work.
What did solve the problem was indeed, as mentioned by @BloosT1337 , to set the user to
0:0:@kolaente commented on GitHub (Jan 28, 2026):
The command
$ docker run -it --rm -p 3456:3456 -u 1001:1001 -v vikunja-files:/app/vikunja/files ...creates a named volumevikunja-files, it's not using the folder you created earlier. Vikunja can't change the ownership on these volumes, you need to use the bind mount, create the folder first and chown it.This worked for me:
@liquidat commented on GitHub (Jan 29, 2026):
Indeed. But as mentioned right above that command, I tested it both, with named volumes, or with the folder created earlier. In fails in both cases for me, reproducibly with the steps mentioned at the top of this issue.
Since the very same command that fails for me does work for you: what Linux distribution are you using? And is this docker rootless you are running there?
@kolaente commented on GitHub (Jan 30, 2026):
I'm on NixOS, but I haven't changed anything about the docker host config. I guess that means it's not rootless?
@kolaente commented on GitHub (Jan 30, 2026):
I've just merged https://github.com/go-vikunja/vikunja/pull/2179 which adds more diagnostics around this to the
doctorcommand. Can you check with the next unstable build (should be ready in ~30min) what the output is?@kolaente commented on GitHub (Jan 30, 2026):
Did some more digging and it seems to be docker remapping user ids using userns-remap - basically running rootless docker means the process in the container assumes the id that you pass with the
-uflag which on the kernel level, it's something entirely different. Because the file permissions are checked on the kernel level, that makes it fail with-u 1000and work with-u 0:0. I'll check how we can detect and document this better.See https://github.com/mamba-org/micromamba-docker/issues/407#issuecomment-2088523507
@liquidat commented on GitHub (Jan 30, 2026):
@kolaente Wow, thanks for digging that much into it, I really appreciate it!
Let me know if I can be of any help.
For the record, I executed the doctor command with the latest unstable:
@kolaente commented on GitHub (Jan 30, 2026):
Here's a PR that adds more logic to the doctor command to detect if the docker container runs with namespace remapping: https://github.com/go-vikunja/vikunja/pull/2180 and docs https://github.com/go-vikunja/website/pull/289
I'll ping here once that's merged so that you can check it.
@kolaente commented on GitHub (Feb 1, 2026):
Merged the PR, please pull the new unstable build when the CI is done, ~30min. Some docs are here: https://vikunja.io/docs/full-docker-example/#rootless-docker
@liquidat commented on GitHub (Feb 1, 2026):
Here you go.
The UID and tmp file ownership:
The first run with no given user flag:
Second test run, this time with
-u 1001:1001:Last run, successful, with
-u 0:0:I am fine running the container for now with
-u 0:0, but hopefully this helps debugging things :)