Poge is a Next.js 16 application that can be deployed to any platform supporting Node.js. Since all data is stored client-side in the browser, no database or backend configuration is required.
Deploy to Vercel (Recommended)
The fastest way to deploy Poge is using Vercel’s one-click deployment:
Click the Deploy button
Click the “Deploy to Vercel” button above. You’ll be prompted to sign in to Vercel if you haven’t already.
Clone the repository
Vercel will create a copy of the Poge repository in your GitHub account.
Deploy
Vercel automatically builds and deploys your application. This typically takes 2-3 minutes.
Access your instance
Once deployed, you’ll receive a URL like https://poge-your-name.vercel.app where you can access your Poge instance.
Manual Vercel Deployment
If you prefer to deploy manually:
Clone the repository
git clone https://github.com/dev-hari-prasad/poge.git
cd poge
Install dependencies
npm install
# or
pnpm install
# or
yarn install
Deploy
Follow the prompts to link your project and deploy.
Deploy to Netlify
Netlify supports Next.js applications with their Next.js Runtime:
Connect your repository
Log in to Netlify
Click “Add new site” → “Import an existing project”
Connect your Git provider and select your Poge repository
Configure build settings
Use these build settings:
Build command : npm run build
Publish directory : .next
Functions directory : Leave empty
Deploy
Click “Deploy site” and Netlify will build and deploy your application.
Netlify CLI Deployment
# Install Netlify CLI
npm install -g netlify-cli
# Build the application
npm run build
# Deploy
netlify deploy --prod
Deploy to Railway
Railway provides a simple deployment experience for Next.js applications:
Create a new project
Log in to Railway
Click “New Project” → “Deploy from GitHub repo”
Select your Poge repository
Configure deployment
Railway automatically detects Next.js and configures the build:
Build command : npm run build
Start command : npm run start
Deploy
Railway automatically deploys your application. You’ll receive a public URL.
Self-Hosted Deployment
Prerequisites
Node.js 18.17 or later
npm, pnpm, or yarn package manager
A server with at least 512MB RAM
SSL certificate (recommended for production)
Docker Deployment
Dockerfile
docker-compose.yml
FROM node:18-alpine AS base
# Install dependencies
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm ci
# Build the application
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
# Production image
FROM base AS runner
WORKDIR /app
ENV NODE_ENV production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
ENV PORT 3000
ENV HOSTNAME "0.0.0.0"
CMD [ "node" , "server.js" ]
Deploy with Docker:
# Build the image
docker build -t poge .
# Run the container
docker run -d -p 3000:3000 --name poge poge
Or use Docker Compose:
Traditional Server Deployment
Clone and install
git clone https://github.com/dev-hari-prasad/poge.git
cd poge
npm install
Start the production server
By default, the application runs on port 3000. Access it at http://localhost:3000
Configure as a service (optional)
Create a systemd service file at /etc/systemd/system/poge.service: [Unit]
Description =Poge Database Tool
After =network.target
[Service]
Type =simple
User =www-data
WorkingDirectory =/opt/poge
ExecStart =/usr/bin/npm run start
Restart =always
Environment = NODE_ENV =production
Environment = PORT =3000
[Install]
WantedBy =multi-user.target
Enable and start the service: sudo systemctl enable poge
sudo systemctl start poge
Environment Requirements
Node.js Version
Poge requires Node.js 18.17 or later. The application uses Next.js 16.1.5, which requires:
Node.js 18.17 or later
React 19
Runtime Dependencies
Key dependencies that affect deployment:
next: 16.1.5
react: ^19
pg: ^8.16.3 (for PostgreSQL connections)
Build Settings
The following build settings are configured in next.config.mjs:
ESLint checks are skipped during builds (ignoreDuringBuilds: true)
TypeScript errors are ignored during builds (ignoreBuildErrors: true)
Image optimization is disabled (unoptimized: true)
Port Configuration
By default, Poge runs on port 3000. You can change this by setting the PORT environment variable:
Reverse Proxy Configuration
For production deployments, use a reverse proxy like Nginx or Caddy:
server {
listen 80 ;
server_name poge.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1 ;
proxy_set_header Upgrade $ http_upgrade ;
proxy_set_header Connection 'upgrade' ;
proxy_set_header Host $ host ;
proxy_cache_bypass $ http_upgrade ;
proxy_set_header X-Real-IP $ remote_addr ;
proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $ scheme ;
}
}
Post-Deployment Checklist
Enable HTTPS/SSL for secure database connections
Configure CORS if accessing from multiple domains
Set up monitoring and logging
Test database connectivity from the deployed instance
Verify that client-side storage (LocalStorage) is working correctly
Remember that Poge stores all data client-side. Each user’s data is stored in their browser’s LocalStorage, so no server-side data persistence is required.