mirror of https://github.com/usememos/memos.git
3.3 KiB
3.3 KiB
Deploy Memos to Vercel with GitHub Issues Backend
This version of Memos uses GitHub Issues as a backend to store your memos. Each memo is stored as a GitHub Issue in your repository.
How It Works
- Memos are stored as GitHub Issues with the
memolabel - Tags are stored as GitHub labels prefixed with
tag: - Pinned memos have the
pinnedlabel - Private memos have the
privatelabel - Deleted memos are closed and marked with
archivedlabel
Prerequisites
- A GitHub account
- A GitHub repository (can be private) to store your memos
- A GitHub Personal Access Token with
reposcope
Setup Instructions
1. Create a GitHub Repository
Create a new repository on GitHub to store your memos. You can make it private if you want your memos to be private.
2. Generate a Personal Access Token
- Go to GitHub Settings > Developer Settings > Personal Access Tokens
- Create a new token with the
reposcope - Copy the token (you won't be able to see it again)
3. Deploy to Vercel
Option A: Deploy with Vercel Button
Option B: Deploy via CLI
-
Install Vercel CLI:
npm i -g vercel -
Deploy:
vercel -
Follow the prompts to configure your project.
Option C: Deploy via Vercel Dashboard
- Go to Vercel Dashboard
- Click "Add New..." > "Project"
- Import your GitHub repository
- Vercel will automatically detect the configuration
- Click "Deploy"
4. Configure the App
After deployment, visit your deployed URL and:
- Enter your GitHub Personal Access Token
- Enter the repository owner (your GitHub username or organization)
- Enter the repository name
- Click "Connect"
Your memos will now be stored as GitHub Issues in your repository.
Features
- Markdown Support: Write memos in Markdown with full GFM support
- Tags: Use
#hashtagsin your memos to organize them - Pinning: Pin important memos to the top
- Search: Search through all your memos
- Dark Mode: Automatic dark mode based on system preference
- Privacy: Your token is stored locally in your browser
Local Development
# Navigate to web directory
cd web
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:3001 to see the app.
Build for Production
cd web
npm run build
The built files will be in the web/dist directory.
Security Notes
- Your GitHub token is stored only in your browser's localStorage
- The token is never sent to any server except GitHub's API
- Using a private repository ensures your memos are not publicly visible
- The token only needs
reposcope for reading/writing issues
Troubleshooting
"Not authenticated" error
- Check that your token hasn't expired
- Verify the token has
reposcope - Clear localStorage and sign in again
"Not Found" error
- Verify the repository owner and name are correct
- Ensure your token has access to the repository
Labels not appearing
- The app automatically creates required labels on first use
- If labels are missing, try signing out and signing in again