sharrr
Transferencia de archivos cifrada de extremo a extremo y de una sola vez.
Transfiere archivos (de tamaño prácticamente ilimitado) de forma asincrónica y de la manera más segura posible.
Aprende más sobre la implementación técnica. Mira cómo sharrr se compara con otros servicios.
Sitio web: www.sharrr.com
Ayuda a mantener este proyecto en funcionamiento: Haz una donación
Desarrollo
Antes de comenzar, agrega un archivo .env en la raíz del proyecto. Ver más abajo.
# 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 datos Postgres
Actualmente se utiliza la base de datos Vercel Postgres, pero se puede hacer con cualquier base de datos compatible con Prisma.
Pruebas
# Run unit tests with vitest
Important: Node 19+ is required (Support for crypto modules)
pnpm run test:unitE2E tests with playwright
pnpm run test
Construcción
Para crear una versión de producción de tu aplicación:
pnpm run buildPuede previsualizar la compilación de producción con pnpm run preview.
Mantenimiento
Hay un flujo de trabajo de Github cron-cleanup-files.yml que se ejecuta todos los días para limpiar archivos antiguos.
Consulte src/routes/api/v1/cron/+server.ts para más información.
Puede activar el trabajo cron localmente con:
curl --request POST \
--url 'http://localhost:3000/api/v1/cron' \
--header 'Authorization: Bearer API_SECRET_KEY'
Autoalojamiento
Nota
El proyecto actualmente se ejecuta en Vercel, utiliza S3 para almacenamiento y Vercel Postgres DB. El autoalojamiento requiere que reemplaces esas soluciones de terceros.
Configuración actual
#### 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='' Con Docker (En progreso)
Necesitarás editar las variables de entorno dentro del archivo .env.
Nota
Para ejecutar la aplicación en Docker aún necesitas conectar tu propia base de datos. Lo mismo aplica si quieres usar tu propia solución de almacenamiento S3. Esta parte aún no está cubierta.
Una vez que hayas hecho eso, puedes hacer lo siguiente:
# to start the docker container
sudo docker compose up -dto stop the docker container
sudo docker compose downto check logs
sudo docker logs sharrrAcerca de
Acerca del autor: stophe.com
¿Necesitas opciones adicionales de privacidad y seguridad? Visita scrt.link.
Stack
- SvelteKit
- Tailwind CSS
- PostgreSQL (Base de datos)
- Prisma (ORM)
- Doppler (Para manejo de variables de entorno)
Infraestructura
- Sitio web y Postgres en Vercel
- Almacenamiento de objetos S3 con flow.swiss
Licencia
MIT (Código)
CC BY-NC-ND (Creativos)
--- Tranlated By Open Ai Tx | Last indexed: 2026-03-27 ---