MaBibli 1.0.0
Gestion de bibliothèque personnelle auto-hébergée : catalogue, prêts, scan de code-barres, consultation hors-ligne. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
# Image pour héberger MaBibli AILLEURS que sur YunoHost (Synology, NAS, VPS…).
|
||||
#
|
||||
# ⚠️ Ce n'est PAS le chemin de déploiement de référence : celui-ci reste le paquet
|
||||
# `mabibli_ynh`, qui déploie un publish self-contained sans conteneur (voir README,
|
||||
# « Mettre en production »). Cette image existe pour les hébergements qui n'ont pas de
|
||||
# portail SSO — et elle n'apporte donc AUCUNE authentification. Lire impérativement
|
||||
# « Installer ailleurs que sur YunoHost » dans le README avant de l'exposer.
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||
WORKDIR /src
|
||||
|
||||
# `MaBibli.Api` référence `MaBibli.Client` : le client Blazor WebAssembly est compilé au
|
||||
# passage et atterrit dans `wwwroot/`. Un seul projet à publier suffit pour les trois.
|
||||
# Aucun `dotnet workload install` n'est nécessaire : le SDK .NET 10 résout l'outillage
|
||||
# WebAssembly tout seul (vérifié — aucune charge de travail n'est installée en local).
|
||||
COPY . .
|
||||
RUN dotnet publish MaBibli.Api --configuration Release --output /app
|
||||
|
||||
# Pas de `--self-contained` ici, contrairement au paquet YunoHost : l'image `aspnet`
|
||||
# embarque déjà le runtime. Le self-contained sert à ne rien exiger d'un serveur qu'on
|
||||
# ne maîtrise pas ; dans un conteneur, la question ne se pose pas.
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
||||
WORKDIR /app
|
||||
COPY --from=build /app .
|
||||
|
||||
# La base vit dans un volume, jamais à côté des binaires : c'est ce qui la fait survivre
|
||||
# au remplacement de l'image. Même règle que le `data_dir` de YunoHost.
|
||||
ENV ConnectionStrings__MaBibli="Data Source=/data/mabibli.db"
|
||||
VOLUME ["/data"]
|
||||
|
||||
# L'image `aspnet` écoute déjà sur 8080 : poser `ASPNETCORE_URLS` ne ferait qu'écraser ce
|
||||
# réglage et journaliser un avertissement à chaque démarrage. Pour changer de port,
|
||||
# `ASPNETCORE_HTTP_PORTS`. ⚠️ Écouter sur toutes les interfaces est sûr DANS un conteneur —
|
||||
# c'est la publication du port qui décide de l'exposition, voir `compose.yaml`.
|
||||
EXPOSE 8080
|
||||
|
||||
ENTRYPOINT ["dotnet", "MaBibli.Api.dll"]
|
||||
Reference in New Issue
Block a user