A modern, decentralized social media platform for images and pictures built on the Nostr protocol.
- Image-centric social experience - Share and discover beautiful images
- Decentralized architecture - Powered by Nostr protocol
- User profiles - Customize your presence on the platform
- Feeds - Global, personalized, and tag-based image discovery
- React and engage - Like, comment, and interact with content
- Lightning Network integration - For tipping and monetization
- Responsive design - Optimized for mobile and desktop experiences
# Clone the repository
git clone https://github.com/lumina-rocks/lumina.git
cd lumina
# Install dependencies
npm install
# or
bun install
# Start the development server
npm run dev
# or
bun dev
Your application will be available at http://localhost:3000.
docker run --rm -it -p 3000:3000 ghcr.io/lumina-rocks/lumina:main
docker compose up -d
# Build the Docker image
docker build -t lumina .
# Run the container
docker run -p 3000:3000 lumina
LUMINA supports image proxying via imgproxy to optimize image loading, resize images on-the-fly, and enhance privacy. To enable:
-
Edit the
.env
file in thelumina
directory:NEXT_PUBLIC_ENABLE_IMGPROXY=true NEXT_PUBLIC_IMGPROXY_URL=https://your-imgproxy-instance.com/
-
Make sure your imgproxy instance is properly configured and accessible.
-
Restart the application to apply changes.
The imgproxy feature:
- Resizes images to appropriate dimensions for better performance
- Falls back to direct image URLs if the proxy fails
- Provides faster loading times for large images
- Can be disabled by setting
NEXT_PUBLIC_ENABLE_IMGPROXY=false
Umami analytics is disabled by default. To enable:
-
Edit the
.env
file in thelumina
directory:NEXT_PUBLIC_UMAMI_SCRIPT_URL=your-umami-script-url NEXT_PUBLIC_UMAMI_WEBSITE_ID=your-website-id
-
Rebuild and restart the container:
docker compose up -d --build
- Frontend: Next.js, React, TypeScript, Tailwind CSS
- UI Components: Radix UI, Lucide icons, shadcn/ui
- Protocols: Nostr, Lightning Network
LUMINA is an independent, community-focused project kickstarted and currently mostly developed by a single passionate developer. Your support helps keep this decentralized platform alive and growing!
- Geyser Fund: Donate at geyser.fund/project/lumina
- Lightning Address: Send sats directly to
[email protected]
- Code Contributions: PRs are welcome!
Every contribution helps build a better, more open social media landscape.
Contributions, issues, and feature requests are welcome! Feel free to check issues page.