sharrr
Transfert de fichiers chiffré de bout en bout et ponctuel.
Transférez des fichiers (de taille pratiquement illimitée) de manière asynchrone et la plus sécurisée possible.
En savoir plus sur la mise en œuvre technique. Voir comment sharrr se compare à d’autres services.
Site web : www.sharrr.com
Aidez à maintenir ce projet : Faire un don
Développement
Avant de commencer, ajoutez un fichier .env à la racine du projet. Voir ci-dessous.
# Initial installation
pnpm iRun dev server
pnpm run devor start the server and open the app in a new browser tab
pnpm run dev -- --openDB
#### Prisma ORM
# Init primsa
npx prisma initPush schema to Postgres
npx prisma db pushOpen prisma studio locally
npx prisma studioAfter changes in DB are made. Should not be necessary.
https://www.prisma.io/docs/concepts/components/prisma-client#4-evolving-your-application
npx prisma generate#### Base de données Postgres
Utilisation actuelle de la base de données Vercel Postgres, mais cela peut être fait avec n'importe quelle base de données compatible Prisma.
Tests
# Run unit tests with vitest
Important: Node 19+ is required (Support for crypto modules)
pnpm run test:unitE2E tests with playwright
pnpm run test
Construction
Pour créer une version de production de votre application :
pnpm run buildVous pouvez prévisualiser la version de production avec pnpm run preview.
Maintenance
Il existe un workflow Github cron-cleanup-files.yml qui s'exécute tous les jours pour nettoyer les anciens fichiers.
Voir src/routes/api/v1/cron/+server.ts pour plus d'informations.
Vous pouvez déclencher la tâche cron localement avec :
curl --request POST \
--url 'http://localhost:3000/api/v1/cron' \
--header 'Authorization: Bearer API_SECRET_KEY'
Auto-hébergement
Note
Le projet fonctionne actuellement sur Vercel, utilise S3 pour le stockage et Vercel Postgres DB. L’auto-hébergement nécessite de remplacer ces solutions tierces.
Configuration actuelle
#### Variables ENV
# Postgres
POSTGRES_PRISMA_URL='postgres://'
POSTGRES_URL_NON_POOLING='postgres://' # Direct ConnectionS3 compatible object storage e.g. AWS
S3_ENDPOINT=''
S3_ACCESS_KEY=''
S3_SECRET_KEY=''
PUBLIC_S3_BUCKET=''Vercel specific, but can be easily replaced.
VERCEL_URL='http://localhost:3000'
PUBLIC_ENV='development' # preview/productionOnly used for cron jobs that run using Github Actions.
API_SECRET_KEY='' Avec Docker (en cours)
Vous devrez modifier les variables d'environnement dans le fichier .env.
Note
Pour exécuter l'application dans Docker, vous devez toujours connecter votre propre base de données. Il en va de même si vous souhaitez utiliser votre propre solution de stockage S3. Cette partie n'est pas encore couverte.
Une fois cela fait, vous pouvez procéder comme suit :
# to start the docker container
sudo docker compose up -dto stop the docker container
sudo docker compose downto check logs
sudo docker logs sharrrÀ propos
À propos de l'auteur : stophe.com
Besoin d'options supplémentaires de confidentialité et de sécurité ? Consultez scrt.link.
Stack
- SvelteKit
- Tailwind CSS
- PostgreSQL (Base de données)
- Prisma (ORM)
- Doppler (Pour la gestion des variables d'environnement)
Infrastructure
- Site web et Postgres sur Vercel
- Stockage d'objets S3 avec flow.swiss
Licence
MIT (Code)
CC BY-NC-ND (Créations)
--- Tranlated By Open Ai Tx | Last indexed: 2026-03-27 ---