seaweedfs-init failed on first start

(#587) Bug Fixed self-hosting

Summary

On first docker compose up, seaweedfs-init failed for unknown reasons (maybe race condition on first startup?), resulting in 0 admin secrets in SeaweedFS. Logs are attached. That caused the setup wizard to result in "Internal server errror". Running docker compose restart seaweedfs-init while the rest of the stack was running fixed the issue.

Steps to reproduce

  1. Follow https://docs.fluxer.app/operator/get-started
  2. Try to complete the setup wizard with media (logo, favicon ...) set

Environment

Version: Docker Compose self hosted ghcr.io/fluxerapp/fluxer-admin:v1 / seaweedfs:4.34 OS: AlmaLinux 10 Browser: Firefox 151 Device: Windows PC

Logs or screenshots

First stack start:
seaweedfs-init-1    | 2026-06-16T10:17:48.275713926Z error: get filer configuration: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp: missing address"
seaweedfs-init-1    | 2026-06-16T10:17:48.508381438Z error: get filer configuration: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp: missing address"
seaweedfs-init-1    | 2026-06-16T10:17:48.701195696Z error: get filer configuration: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp: missing address"
seaweedfs-init-1    | 2026-06-16T10:17:48.899432614Z error: get filer configuration: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp: missing address"
seaweedfs-init-1    | 2026-06-16T10:17:49.132537642Z error: get filer configuration: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp: missing address"
seaweedfs-init-1    | 2026-06-16T10:17:49.134377628Z buckets ready
While trying to complete setup wizard:
seaweedfs-1         | W0616 10:38:58.206708 auth_signature_v4.go:254 InvalidAccessKeyId: attempted key 'fluxer' not found. Available keys: 0, Auth enabled: false
seaweedfs-1         | W0616 10:38:58.206735 s3api_bucket_handlers.go:637 PutObjectHandler: auto-create bucket fluxer: permission denied - requires Admin permission
api-1               | {"level":"error","time":"2026-06-16T10:38:58.208Z","service":"fluxer-api","env":"production","error":{"type":"AccessDenied","message":"Access Denied.","stack":"AccessDenied: Access Denied.\n    at AwsRestXmlProtocol.handleError (/usr/src/app/fluxer_api/node_modules/.pnpm/@aws-sdk+core@3.973.12/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1814:27)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async AwsRestXmlProtocol.deserializeResponse (/usr/src/app/fluxer_api/node_modules/.pnpm/@smithy+core@3.23.4/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js:314:13)\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@smithy+core@3.23.4/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.12/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:386:20\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@smithy+middleware-retry@4.4.35/node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@aws-sdk+middleware-flexible-checksums@3.972.10/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js:241:24\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.12/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:63:28\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.12/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:90:20\n    at async /usr/src/app/fluxer_api/node_modules/.pnpm/@aws-sdk+middleware-logger@3.972.3/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26","$fault":"client","$metadata":{"httpStatusCode":403,"requestId":"18B98986765D6EF65A0C0B61","attempts":1,"totalRetryDelay":0},"name":"AccessDenied","Code":"AccessDenied","Resource":"/fluxer/branding/0/7988dd5a","RequestId":"18B98986765D6EF65A0C0B61","Key":"branding/0/7988dd5a","BucketName":"fluxer"},"s3Key":"branding/0/7988dd5a","assetType":"branding","entityType":"instance","msg":"Asset upload to S3 failed"}
api-1               | {"level":"error","time":"2026-06-16T10:38:58.208Z","service":"errors","env":"production","err":{"type":"Error","message":"Failed to upload asset to S3: Access Denied.","stack":"Error: Failed to upload asset to S3: Access Denied.\n    at EntityAssetService.uploadToS3 (/usr/src/app/fluxer_api/src/api/infrastructure/EntityAssetService.ts:477:10)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async EntityAssetService.prepareAssetUpload (/usr/src/app/fluxer_api/src/api/infrastructure/EntityAssetService.ts:170:3)\n    at async Object.handler (/usr/src/app/fluxer_api/src/api/admin/controllers/InstanceConfigAdminController.ts:390:21)\n    at async dispatch (file:///usr/src/app/fluxer_api/node_modules/.pnpm/hono@4.12.2/node_modules/hono/dist/compose.js:22:17)\n    at async handler (file:///usr/src/app/fluxer_api/node_modules/.pnpm/hono@4.12.2/node_modules/hono/dist/hono-base.js:118:39)\n    at async dispatch (file:///usr/src/app/fluxer_api/node_modules/.pnpm/hono@4.12.2/node_modules/hono/dist/compose.js:22:17)\n    at async Object.handler (/usr/src/app/fluxer_api/src/api/middleware/ResponseTypeMiddleware.ts:209:3)\n    at async dispatch (file:///usr/src/app/fluxer_api/node_modules/.pnpm/hono@4.12.2/node_modules/hono/dist/compose.js:22:17)\n    at async handler (file:///usr/src/app/fluxer_api/node_modules/.pnpm/hono@4.12.2/node_modules/hono/dist/hono-base.js:118:39)"},"msg":"Unhandled error occurred"}
api-1               | {"level":"info","time":"2026-06-16T10:38:58.208Z","service":"fluxer-api","env":"production","method":"POST","path":"/v1/admin/instance-config/branding-asset","status":500,"durationMs":50,"msg":"Request completed"}
After restarting seaweedfs-init:
seaweedfs-init-1    | 2026-06-16T10:50:57.865298877Z create bucket under /buckets
seaweedfs-init-1    | 2026-06-16T10:50:57.865771299Z created bucket fluxer
seaweedfs-init-1    | 2026-06-16T10:50:58.147901088Z create bucket under /buckets
seaweedfs-init-1    | 2026-06-16T10:50:58.148337144Z created bucket fluxer-uploads
seaweedfs-init-1    | 2026-06-16T10:50:58.449924734Z create bucket under /buckets
seaweedfs-init-1    | 2026-06-16T10:50:58.450424881Z created bucket fluxer-downloads
seaweedfs-init-1    | 2026-06-16T10:50:58.575799079Z create bucket under /buckets
seaweedfs-init-1    | 2026-06-16T10:50:58.576305551Z created bucket fluxer-reports
seaweedfs-init-1    | 2026-06-16T10:50:58.831467124Z create bucket under /buckets
seaweedfs-init-1    | 2026-06-16T10:50:58.831969385Z created bucket fluxer-harvests
seaweedfs-init-1    | 2026-06-16T10:50:58.833955903Z buckets ready

1 comment

Sign in with Fluxer to comment and vote.