29407814ccb0c4ee9d9b008aec397dfd98e86469
Move token delete and storage purge off UploadService; enforce expiry and max views on GET without purging until the scheduled cleanup job runs.
Private Image
Self-hosted, privacy-focused image hosting. Images are metadata-stripped and encrypted in the browser before upload. Supports zero-knowledge viewer links and hotlink mode for embeds.
Development
Start dev environment
cp .env.example .env.dev
docker compose --env-file .env.dev -f docker-compose.dev.yml build --no-cache
docker compose --env-file .env.dev -f docker-compose.dev.yml up --force-recreate
Install npm packages for code editor visibility
cd backend && npm i && cd ../frontend && npm i
Languages
TypeScript
74%
Vue
21.7%
Shell
1.7%
JavaScript
1.5%
CSS
1%
Other
0.1%