Web Analytics

sharrr-svelte

⭐ 160 stars French by stophecom

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 i

Run dev server

pnpm run dev

or start the server and open the app in a new browser tab

pnpm run dev -- --open

DB

#### Prisma ORM

# Init primsa
npx prisma init

Push schema to Postgres

npx prisma db push

Open prisma studio locally

npx prisma studio

After 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:unit

E2E tests with playwright

pnpm run test

Construction

Pour créer une version de production de votre application :

pnpm run build

Vous 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 Connection

S3 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/production

Only 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 -d

to stop the docker container

sudo docker compose down

to 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

Ce projet est testé avec BrowserStack.

Infrastructure

Licence

MIT (Code)

CC BY-NC-ND (Créations)

--- Tranlated By Open Ai Tx | Last indexed: 2026-03-27 ---