Tier: Personal
Customer: Undisclosed
Repo: https://github.com/IU-Capstone-Project-2025/hypershelf
Links #
- Deployment: hypershelf.app
- Repo: hypershelf
- Presentation: hypershelf.pdf
- Legal notice: legal.pdf
Final deliverables #
Project overview #
There is a real problem in digital assets management. Most of the existing systems are non-reliable, expensive, do not follow Russian laws, or hard to use. Hypershelf aims to solve all of these problems.
Features #
- Live sync
- Mutex
- Query builder
- Static views
- Markdown editor
- Integrations
Tech stack #
- Next.JS
- PostgreSQL
- Convex
- Docker
- Openresty
Setup instructions #
Initial setup is manual, no CI/CD. If the target server does not have an already deployed version of Hypershelf, the pipeline will fail.
- Run
docker compose up -d. This will spin up the containers. - Run
docker compose exec -ti backend ./generate_admin_key.shto getCONVEX_SELF_HOSTED_ADMIN_KEY. - Log in to Convex dashboard.
- Set up Convex environment:
- Run
bunx convex deploy. - Set up environment variables (guide in
.env.sample):
- Run
docker compose restart. - Set up nginx/openresty using
hypershelf.app.conf. Openresty is recommended, nginx might need to be built with lua in order to supportproxy_cookie_flags. - Set up your domains
convex.example.com,backend.example.com,convex-dashboard.example.com,example.com. In case of Cloudflare you can use wildcard:
- Enjoy
Any consequent changes to this instance will be deployed through CI/CD automatically if you set up the secrets inside GitHub repo:
DEPLOYMENT_URL: public URL of deployed frontend, e.g.https://hypershelf.app. Will be used as deployment url.SSH_HOST: IP of the target serverSSH_PRIVATE_KEY: OpenSSH private key with access to deploySSH_USER: Eitherroot, or user withNOPASSWDpermissions for Docker +/opt/hypershelf
Presentation draft #
See Links
Weekly commitments #
- Daniil Gazizullin: See Links
Plan for Next Week #
- Refine the presentation
- Refine the project in terms of the legal field