Premium offshore VPS hosting website built with Next.js 15, featuring multiple payment methods and Telegram integration.
- Modern Design: Clean, professional UI with metallic blue-gray theme
- Multiple Pages: Home, Services, VPS Info, Pricing, Contact, and Payment pages
- Authentication: User registration and login with email/password and Google OAuth
- Payment Integration: Support for Stripe, CoinPayments, and MetaMask
- Telegram Bot: Automatic notifications for contact forms and payments
- Responsive: Mobile-first design that works on all devices
- SEO Optimized: Proper meta tags and semantic HTML
To run this project, you need to set up the following environment variables:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_hereHow to set up Telegram Bot:
- Open Telegram and search for @BotFather
- Send
/newbotand follow the instructions - Copy the bot token provided
- To get your chat ID:
- Search for @userinfobot on Telegram
- Start a chat and it will send you your chat ID
- Or create a group, add your bot, and use @getidsbot to get the group chat ID
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Development redirect URL (optional)
NEXT_PUBLIC_DEV_SUPABASE_REDIRECT_URL=http://localhost:3000/auth/callbackHow to set up Supabase:
- Go to supabase.com and create a new project
- Go to Settings > API to get your project URL and anon key
- Get your service role key from Settings > API (required for webhooks to bypass RLS)
- Enable Google OAuth provider in Authentication > Providers
- See `GOOGLE_OAUTH_SETUP.md` for detailed Google OAuth configuration
Important: The service role key bypasses Row Level Security (RLS) and should NEVER be exposed to the client side. It's only used server-side for webhooks and admin operations.
# Stripe
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret_here
# CoinPayments
COINPAYMENTS_MERCHANT_ID=your_merchant_id
COINPAYMENTS_IPN_SECRET=your_ipn_secret
COINPAYMENTS_PUBLIC_KEY=your_public_key
COINPAYMENTS_PRIVATE_KEY=your_private_key
# MetaMask (Ethereum wallet address)
METAMASK_WALLET_ADDRESS=your_ethereum_wallet_address- Install dependencies:
npm install-
Set up environment variables in Vercel or create a
.env.localfile -
Run the development server:
npm run dev- Open http://localhost:3000 in your browser
app/
├── page.tsx # Homepage
├── services/page.tsx # Services page
├── vps/page.tsx # VPS information page
├── pricing/page.tsx # Pricing plans
├── contact/page.tsx # Contact form
├── payment/page.tsx # Payment checkout
├── auth/ # Authentication pages
│ ├── login/page.tsx # Login page
│ ├── sign-up/page.tsx # Registration page
│ ├── callback/route.ts # OAuth callback handler
│ └── auth-code-error/ # OAuth error page
└── api/
├── contact/ # Contact form API
└── payment/ # Payment processing APIs
├── stripe/
├── coinpayments/
└── metamask/
components/
├── site-header.tsx # Navigation header
├── site-footer.tsx # Footer component
└── google-auth-button.tsx # Google OAuth button
lib/
├── telegram.ts # Telegram Bot API integration
└── supabase/ # Supabase client configuration
├── client.ts
├── server.ts
└── middleware.ts
The application sends notifications to Telegram for:
- Contact Form Submissions: When users submit the contact form
- Payment Notifications: When payments are initiated (Stripe, CoinPayments, MetaMask)
Messages include all relevant details and are formatted with HTML for better readability.
- Visa, Mastercard, American Express
- Secure checkout via Stripe
- Bitcoin, Ethereum, Litecoin, and 100+ cryptocurrencies
- Anonymous payments
- Direct wallet-to-wallet payments
- Instant transaction verification
This project is designed to be deployed on Vercel:
- Push your code to GitHub
- Import the repository in Vercel
- Add environment variables in Vercel project settings
- Deploy
- Integrate real Stripe API with checkout sessions and webhooks
- Set up CoinPayments IPN callbacks for payment verification
- Implement blockchain transaction verification for MetaMask
- Add database integration for storing orders and customer data
- Implement VPS deployment automation
- Set up email service for sending credentials
- Add user dashboard for managing VPS instances
- Implement proper error handling and logging
- Add rate limiting to API routes
- Set up monitoring and analytics
All rights reserved © 2025 Offshore Host