Upgrading a self-hosted instance to the latest v1 tag causes the /api/v1/gifs endpoints to return 503.
Rolling back to admin:2026.616.51531 and api:2026.626.83930 resolves the issue.
Setup a self-hosted instance using older container images then upgrade the images to the latest v1 tags.
{
"level": "warn",
"time": "2026-07-01T15:16:25.620Z",
"service": "fluxer-api",
"env": "production",
"error": {
"type": "NatsError",
"message": "503",
"stack": "NatsError: 503\n at NatsError.errorForCode (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/core.ts:170:12)\n at isRequestError (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/msg.ts:34:22)\n at SubscriptionImpl.callback (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/muxsubscription.ts:92:33)\n at ProtocolHandler.processMsg (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/protocol.ts:741:11)\n at ProtocolHandler.push (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/protocol.ts:863:14)\n at Parser.parse (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/parser.ts:241:29)\n at ProtocolHandler.<anonymous> (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/protocol.ts:564:25)\n at Generator.next (<anonymous>)\n at fulfilled (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/lib/nats-base-client/protocol.js:5:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n\nError\n at new BaseRequest (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/request.ts:45:18)\n at new RequestOne (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/request.ts:142:5)\n at NatsConnectionImpl.request (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/nats.ts:417:17)\n at NatsGifProvider.request (/usr/src/app/fluxer_api/src/api/gif/NatsGifProvider.ts:262:38)\n at NatsGifProvider.suggest (/usr/src/app/fluxer_api/src/api/gif/NatsGifProvider.ts:219:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async Object.handler (/usr/src/app/fluxer_api/src/api/gif/GifController.ts:177:20)\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)",
"name": "NatsError",
"code": "503"
},
"op": "Suggest",
"msg": "[gif-service] request failed"
}
{
"level": "info",
"time": "2026-07-01T15:16:25.621Z",
"service": "fluxer-api",
"env": "production",
"method": "GET",
"path": "/v1/gifs/suggest",
"status": 503,
"durationMs": 19,
"msg": "Request completed"
}
{
"level": "warn",
"time": "2026-07-01T15:16:25.707Z",
"service": "fluxer-api",
"env": "production",
"error": {
"type": "NatsError",
"message": "503",
"stack": "NatsError: 503\n at NatsError.errorForCode (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/core.ts:170:12)\n at isRequestError (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/msg.ts:34:22)\n at SubscriptionImpl.callback (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/muxsubscription.ts:92:33)\n at ProtocolHandler.processMsg (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/protocol.ts:741:11)\n at ProtocolHandler.push (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/protocol.ts:863:14)\n at Parser.parse (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/parser.ts:241:29)\n at ProtocolHandler.<anonymous> (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/protocol.ts:564:25)\n at Generator.next (<anonymous>)\n at fulfilled (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/lib/nats-base-client/protocol.js:5:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n\nError\n at new BaseRequest (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/request.ts:45:18)\n at new RequestOne (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/request.ts:142:5)\n at NatsConnectionImpl.request (/usr/src/app/fluxer_api/node_modules/.pnpm/nats@2.29.3/node_modules/nats/nats-base-client/nats.ts:417:17)\n at NatsGifProvider.request (/usr/src/app/fluxer_api/src/api/gif/NatsGifProvider.ts:262:38)\n at NatsGifProvider.search (/usr/src/app/fluxer_api/src/api/gif/NatsGifProvider.ts:166:31)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async Object.handler (/usr/src/app/fluxer_api/src/api/gif/GifController.ts:77:20)\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)",
"name": "NatsError",
"code": "503"
},
"op": "Search",
"msg": "[gif-service] request failed"
}
3 comments
Comment by @Jiralite
Comment by @DerP4si
Comment by Hampus
docker-compose.ymlfile as described in https://feedback.fluxer.com/p/614/c/1594