402e9df25558cf6208a1f36ec3b3641bc8848fa4
Renaming public/about to about-media avoids try_files serving a directory on GET /about so the SPA route loads in new tabs.
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.
For production deployment, see the deployment guide.
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%