EXIFhttps://photos.sambecker.com

NEXT_PUBLIC_SITE_DOMAIN (par exemple, photos.domain.com - utilisé dans les permaliens et vu dans la navigation supérieure-droite)AUTH_SECRETADMIN_EMAILADMIN_PASSWORD/adminpnpm i pour installer des dépendancesvercel loginvercel link pour connecter la CLI à votre projetvercel dev pour démarrer Dev Server avec des variables d'environnement gérées par Vercel
L'utilisation de cette fonctionnalité entraînera des frais d'OpenAI. Lors de l'activation de la génération de texte de l'IA, suivez toutes les atténuations recommandées afin d'éviter les charges et les attaques inattendues. Assurez-vous que votre variable Openai Secret Key Environment n'est pas préfixée avec Next_public.
OPENAI_SECRET_KEYAI_TEXT_AUTO_GENERATED_FIELDS = title, semanticall (par défaut)titlecaptiontagssemanticnone@vercel/analytics déjà inclus)@vercel/speed-insights déjà inclus)Le comportement de l'application peut être modifié en configurant les variables d'environnement suivantes:
NEXT_PUBLIC_SITE_TITLE (vu dans l'onglet du navigateur)NEXT_PUBLIC_SITE_DESCRIPTION (vu en nav, sous titre)NEXT_PUBLIC_SITE_ABOUT (vu dans la barre latérale de la grille - tags de formatage riche accepté: <b> , <strong> , <i> , <em> , <u> , <br> ) NEXT_PUBLIC_GRID_HOMEPAGE = 1 montre la disposition de la grille sur la page d'accueilNEXT_PUBLIC_DEFAULT_THEME = light | dark sets thème initial préféré (par défaut vers system lorsqu'il n'est pas configuré)NEXT_PUBLIC_PRO_MODE = 1 permet un stockage d'images de meilleure qualité (entraîne une utilisation accrue du stockage)NEXT_PUBLIC_STATICALLY_OPTIMIZE_PAGES = 1 permet une optimisation statique pour les pages, c'est-à-dire des pages à la construction (entraîne une utilisation accrue du projet) -NEXT_PUBLIC_STATICALLY_OPTIMIZE_OG_IMAGES = 1 permet une optimisation statique pour les images OG, c'est-à-dire des images au moment de la construction (entraîne une utilisation accrue du projet) -NEXT_PUBLIC_MATTE_PHOTOS = 1 limite la taille de chaque photo et permet une bordure environnante (potentiellement utile pour les photos avec des rapports d'aspect élevé)NEXT_PUBLIC_BLUR_DISABLED = 1 empêche les données de flou d'image soit stockées et affichées (potentiellement utiles pour limiter l'utilisation de Postgres)NEXT_PUBLIC_GEO_PRIVACY = 1 désactive la collecte / l'affichage des données basées sur la localisation (NEXT_PUBLIC_HIDE_REPO_LINK = 1 supprime le lien de pied de page vers le repoNEXT_PUBLIC_ALLOW_PUBLIC_DOWNLOADS = 1 Active les téléchargements de photos publiques pour tous les visiteurs (NEXT_PUBLIC_PUBLIC_API = 1 Active API publique disponible sur /apiNEXT_PUBLIC_IGNORE_PRIORITY_ORDER = 1 empêche le champ priority_order affectant l'ordre photoNEXT_PUBLIC_HIDE_SOCIAL = 1 supprime le bouton x de partager modalNEXT_PUBLIC_HIDE_FILM_SIMULATIONS = 1 Empêche les simulations de Fujifilm apparaissant dans les résultats de recherche de la barre latérale /grid et CMD-KNEXT_PUBLIC_HIDE_EXIF_DATA = 1 cache les données exif dans les détails de la photo et les images OG (potentiellement utile pour les portefeuilles, qui ne se concentrent pas sur la photographie)NEXT_PUBLIC_GRID_ASPECT_RATIO = 1.5 SETS Ratio d'aspect pour les carreaux de grille (par défaut à 1 —Stting to 0 supprime la contrainte)NEXT_PUBLIC_SHOW_LARGE_THUMBNAILS = 1 assure de grandes miniatures sur les vues de la grille photoNEXT_PUBLIC_OG_TEXT_ALIGNMENT = BOTTOM garde le texte du texte de l'image OG aligné (par défaut est en haut) Un seul adaptateur de stockage - Vercel Blob, CloudFlare R2 ou AWS S3 - peut être utilisé à la fois. Idéalement, cela est configuré avant le téléchargement des photos (voir le numéro 34 pour les considérations de migration). Si vous avez plusieurs adaptateurs, vous pouvez en définir un comme préféré en stockant "aws-s3", "cloudflare-r2" ou "vercel-blob" dans NEXT_PUBLIC_STORAGE_PREFERENCE .
[{
"AllowedHeaders" : [ " * " ],
"AllowedMethods" : [
" GET " ,
" PUT "
],
"AllowedOrigins" : [
" http://localhost:3000 " ,
" https://{VERCEL_PROJECT_NAME}*.vercel.app " ,
" {PRODUCTION_DOMAIN} "
]
}]NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET : nom de seauNEXT_PUBLIC_CLOUDFLARE_R2_ACCOUNT_ID : ID de compte (trouvé sur la page de vue d'enregistrement R2)NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_DOMAIN : soit "your-custom-domain.com" ou "pub-jf90908 ... s0d9f8s0s9df.r2.dev" ( n'incluez pas "https: //" dans votre domaine )NEXT_PUBLIC ):CLOUDFLARE_R2_ACCESS_KEYCLOUDFLARE_R2_SECRET_ACCESS_KEY[{
"AllowedHeaders" : [ " * " ],
"AllowedMethods" : [
" GET " ,
" PUT "
],
"AllowedOrigins" : [
" http://localhost:* " ,
" https://{VERCEL_PROJECT_NAME}*.vercel.app " ,
" {PRODUCTION_DOMAIN} "
],
"ExposeHeaders" : []
}]NEXT_PUBLIC_AWS_S3_BUCKET : nom de seauNEXT_PUBLIC_AWS_S3_REGION : région de seau, par exemple, "US-East-1"{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Effect" : " Allow " ,
"Action" : [
" s3:PutObject " ,
" s3:PutObjectACL " ,
" s3:GetObject " ,
" s3:ListBucket " ,
" s3:DeleteObject "
],
"Resource" : [
" arn:aws:s3:::{BUCKET_NAME} " ,
" arn:aws:s3:::{BUCKET_NAME}/* "
]
}
]
}NEXT_PUBLIC ):AWS_S3_ACCESS_KEYAWS_S3_SECRET_ACCESS_KEY Vercel Postgres peut être transféré à un autre fournisseur de regroupement compatible Postgres en mettant à jour POSTGRES_URL . Certains fournisseurs ne fonctionnent que lorsque SSL est désactivé, ce qui peut configurer en définissant DISABLE_POSTGRES_SSL = 1 .
6543DISABLE_POSTGRES_SSL = 1 Pour les référentiels fourchus, cliquez sur "Code", puis "Mettez à jour la branche" de la page principale Repo. Si vous avez initialement cloné le code, vous pouvez créer une fourche à partir de GitHub, puis mettez à jour votre connexion GIT à partir de vos paramètres de projet Vercel. Une fois que vous avez fait cela, vous devrez peut-être accéder à votre page de déploiements de projet, cliquez sur •••, sélectionnez "Créer un déploiement" et choisissez
main.
Sur le bureau, sélectionnez ••• Menu en haut à côté du titre du site et choisissez «Sélectionnez plusieurs». Sur le mobile, "Sélectionner plusieurs photos" est accessible à partir du menu de recherche. De là, vous pouvez effectuer des actions en vrac, favori et supprimer.
Ce modèle optimise statiquement les vues de base telles que
/et/gridpour minimiser les temps de chargement des visiteurs. Par conséquent, lorsque des photos sont ajoutées, modifiées ou supprimées, cela peut prendre plusieurs minutes pour que ces modifications se propagent. S'il semble qu'un changement ne prenne pas effet, essayez de naviguer vers/admin/configurationet de cliquer sur "Effacer le cache".
Au fur et à mesure que le modèle a évolué, des champs EXIF (tels que des objectifs) ont été ajoutés, des données floues sont générées via une méthode différente et des fonctionnalités AI / confidentialité ont été ajoutées. Afin de mettre à jour des photos plus anciennes, cliquez sur le bouton «Synchronisation» à côté d'une photo ou utilisez la page photo obsolète (
/admin/outdated) pour effectuer des mises à jour par lots.
De nombreux services tels que iMessage, Slack et X, nécessitent des réponses quasi instantanées lorsqu'ils dépassent le contenu basé sur les liens. Afin de garantir une réactivité suffisante, envisagez de rendre les pages et des actifs d'image à l'avance en activant l'optimisation statique en définissant
NEXT_PUBLIC_STATICALLY_OPTIMIZE_PAGES = 1etNEXT_PUBLIC_STATICALLY_OPTIMIZE_OG_IMAGES = 1. Gardez à l'esprit que cela augmentera l'utilisation de la plate-forme.
Par défaut, toutes les photos sont affichées en pleine largeur, quelle que soit l'orientation. Activez les matrices pour présenter des photos horizontales et verticales à des échelles similaires en définissant
NEXT_PUBLIC_MATTE_PHOTOS = 1.
La densité de la grille de vignettes (vue sur
/grid, les aperçus de balises et autres séries de photos) dépend de la configuration du rapport d'aspect (les rapports de 1 ou moins ont plus de photos par ligne). Cela peut être remplacé en définissantNEXT_PUBLIC_SHOW_LARGE_THUMBNAILS = 1.
Bien que tous les chemins cachés (
/tag/hidden/*) nécessitent une authentification, les liens bruts vers des actifs photo individuels restent accessibles au public. Les URL générées au hasard des fournisseurs de stockage ne sont sécurisées que via l'obscurité. Utiliser avec prudence.
Naviguez vers
/admin/configurationet cliquez sur "Effacer le cache".
Naviguez vers
/admin/configurationet cliquez sur "Effacer le cache". Si cela n'aide pas, ouvrez un problème.
En l'absence de configuration, le rapport d'aspect de la grille par défaut est
1.NEXT_PUBLIC_GRID_ASPECT_RATIOpeut être défini sur n'importe quel nombre (par exemple,1.5pour les images 3: 2) ou ignoré en définissant à0.
Les données de simulation Fujifilm sont stockées dans des binaires Makernote spécifiques au fournisseur intégrés dans les données EXIF. Dans certaines circonstances, un intermédiaire peut supprimer ces données. Par exemple, il y a un problème connu sur iOS où le montage d'une image, par exemple, le recadrage, provoque une perte de données de makernote. Si les données de simulation semblent manquer, essayez d'importer le fichier d'origine tel qu'il a été stocké par l'appareil photo. De plus, si vous pouvez confirmer le mode de simulation, vous pouvez modifier la photo et le sélectionner manuellement.
Pour un certain nombre de raisons, seules les orientations EXIF: 1, 3, 6 et 8 sont prises en charge. Les orientations 2, 4, 5 et 7 - qui utilisent la mise en miroir - ne sont pas prises en charge.
Les versions antérieures de ce modèle ont généré des données de flou sur le client, qui variaient visuellement du navigateur à un navigateur. Les données sont désormais générées de manière cohérente sur le serveur. Si vous souhaitez mettre à jour les données Blur pour une photo particulière, modifiez la photo en question, n'apportez aucune modification et choisissez "Mise à jour".
Le délai d'expiration par défaut pour le traitement des téléchargements multiples est de 60 secondes (la limite pour les comptes de passe-temps). Cela peut être étendu à 5 minutes sur les comptes Pro en définissant
maxDuration = 300danssrc/app/admin/uploads/page.tsx.
Vous devrez peut-être pré-acheter des crédits avant d'accéder à l'API OpenAI. Voir le numéro 110 pour la discussion.
Peut-être. Voir le numéro 116 pour la discussion.