Date: 17/01/2026 00:13 Status: TERMINÉ Durée: ~2h
Les notifications ne fonctionnaient plus et le build de authentificator échouait avec une erreur 401 sur le registry npm GitLab.
.npmrc expiré (glpat-37Pn9EsCjzhmvbb5-Mw6).npmrc pointait vers le mauvais endpoint (group-level → projet 13)@nowhere/ulias-lib et @nowhere/qwikjs-lib non publiés sur le registrypackage-lock.json contenait des URLs cachées incorrectes@nowhere/qwikjs-lib@^0.0.25 demandée mais version disponible 0.0.43src/routes/login/index.tsx lignes 142, 148, 211, 239: casting undefined vers stringsrc/services/db.ts ligne 188: type expiresIn incompatible avec les overloads de jwt.sign192.168.1.51:8899) au lieu de prod-portainerdocker start ntfy apprise
# Test: curl POST http://192.168.1.12:5300/api/notify/push → OK
Publié @nowhere/ulias-lib@0.0.12 sur projet 65:
cd /stock_8to/33800-stack/projects/ulias-lib
npm publish --registry=https://gitlab.33800.nowhere84.com/api/v4/projects/65/packages/npm/
Publié @nowhere/qwikjs-lib@0.0.43 sur projet 65:
cd /stock_8to/33800-stack/projects/qwikjs-lib
npm publish --registry=https://gitlab.33800.nowhere84.com/api/v4/projects/65/packages/npm/
Créé Deploy Tokens pour accès lecture:
gldt-zLCUNB9thc1qvYuRvJENgldt-nyXmR6QZHjnj8A_Rd6Lpsrc/routes/login/index.tsx:
// Avant (lignes 142, 148, 211, 239)
currentToken:loginAction.value?.currentToken as string
// Après
currentToken:loginAction.value?.currentToken ?? ""
src/services/db.ts:
// Avant (ligne 188)
const token = jwt.sign({ email: _email }, JwtSecret[_secret], { expiresIn: _expiresIn });
// Après
const token = jwt.sign({ email: _email }, JwtSecret[_secret], { expiresIn: _expiresIn } as jwt.SignOptions);
.npmrc:
@nowhere:registry=https://gitlab.33800.nowhere84.com/api/v4/projects/65/packages/npm/
//gitlab.33800.nowhere84.com/api/v4/projects/65/packages/npm/:_authToken=${NPM_TOKEN}
Dockerfile:
FROM node:20.17.0
WORKDIR /app
ARG NPM_TOKEN
COPY . .
RUN if [ -n "$NPM_TOKEN" ]; then \
echo "@nowhere:registry=https://gitlab.33800.nowhere84.com/api/v4/projects/65/packages/npm/" > .npmrc && \
echo "//gitlab.33800.nowhere84.com/api/v4/projects/65/packages/npm/:_authToken=${NPM_TOKEN}" >> .npmrc; \
fi
RUN npm install
RUN rm -f .npmrc
RUN npm run build
EXPOSE 8284
CMD ["npm", "run", "serve"]
package.json:
"@nowhere/qwikjs-lib": "^0.0.43" // était ^0.0.25
# Build
docker build --build-arg NPM_TOKEN=gldt-zLCUNB9thc1qvYuRvJEN -t authentificator:test .
# Push
docker tag authentificator:test registry.33800.nowhere84.com/gouroubleu/authentificator:latest
docker push registry.33800.nowhere84.com/gouroubleu/authentificator:latest
# Deploy
cd /mnt/stock_8to/33800-stack/docker/stacks/authentificator
docker compose up -d
# Correction backend
sed -i 's|proxy_pass http://192.168.1.51:8899;|proxy_pass http://192.168.1.12:8284;|' \
/etc/nginx/sites-available/auth.33800.nowhere84.com.conf
nginx -t && systemctl reload nginx
git add -A
git commit -m "Fix build: TypeScript errors + npm registry configuration"
git push origin main
| Élément | Status |
|---|---|
| Notifications (ntfy/apprise) | ✅ Fonctionnel |
| @nowhere/ulias-lib | ✅ Publié v0.0.12 |
| @nowhere/qwikjs-lib | ✅ Publié v0.0.43 |
| Authentificator build | ✅ Réussi |
| Authentificator deploy | ✅ Container running |
| URL publique | ✅ https://auth.33800.nowhere84.com |
| CI/CD GitLab | ✅ Configuré avec NPM_TOKEN |
read_package_registry pour builds manuelspackage-lock.json cache les URLs résolues → supprimer si registry change^0.0.25 signifie exactement 0.0.25 (pas de flexibilité)>=0.0.25 <0.1.0 ou mettre à jour vers la vraie version