B-Esmaili / primo-server

Run primo on your own server to use it from anywhere & invite collaborators

Home Page:https://primo.so

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Primo Server

Primo is a component-based CMS that makes it easier to develop, manage, and publish static sites. This project hosts Primo as a SvelteKit application and integrates it with Supabase to enable authentication, media uploads, and data storage. A single Primo server can handle hundreds of sites, publishes static sites to their own repos/endpoints, and enables rapid component-driven development.

screenshot

This is a base repository for Primo Server that you can fork to host your own Server. All you need is a Supabase and Vercel account (both free & can be logged in with Github), and a few minutes to put up your Server from which you can create and manage one to hundreds of sites. Compared to Primo Desktop, Primo Server enables you to access your sites online, collaborate with developers and marketers, and upload images. You can also access your Server sites from your desktop.

Features

  • Multiple users
  • Image uploads
  • Use from anywhere

Project Status

Primo Server is in Beta. It is stable enough for personal and commercial projects, but there will still be some non-breaking issues.

How it works

This repo deploys primo to Vercel and uses Supabase for authentication, database (PostgreSQL), and storage.

Setup

Primo can be run on the free tier of both services (Vercel & Supabase), and you can sign in with Github.

Before deploying your Primo Server, you'll need to sign up for Supabase and create a new project.

1. Fork this repository

image

2. Deploy Backend (Supabase)

  1. Create a Supabase account or sign in with Github
  2. Create a new project
  3. Disable email confirmations (Authentication > Settings > disable 'Confirm email')
  4. Select 'SQL' from the sidebar navigation
  5. Click + New query
  6. Paste in the contents of ./primo_schema.sql and click 'RUN' query

3. Deploy Frontend (Vercel)

  1. Start a new Vercel project
  2. Select your forked repository
  3. For the environment variables, enter your Supabase project URL, Public Key (anon public), and Admin Key (service_role secret) (which you can find in the Supabase project dashboard > Settings > API https://app.supabase.io/project/---yourprojectid---/settings/api)
  • VITE_SUPABASE_URL
  • VITE_SUPABASE_PUBLIC_KEY
  • VITE_SUPABASE_ADMIN_KEY
  1. Click 'Deploy'
  2. Navigate to your new Primo Server. Sign up with an email address and password (this will be the admin account).

Updating

You can merge upstream updates by clicking 'Sync fork' on your forked repository. Your updates will automatically deploy to your Vercel account.

About

Run primo on your own server to use it from anywhere & invite collaborators

https://primo.so

License:GNU Affero General Public License v3.0


Languages

Language:Svelte 69.3%Language:JavaScript 20.0%Language:TypeScript 8.4%Language:CSS 1.7%Language:HTML 0.6%