Code Monkey home page Code Monkey logo

test-blog's Introduction

Primo Server

screenshot

This project lets you run Primo on your own server so you have full control over your own data and can edit your sites from any device, as well as invite others to collaborate.

If you're just building websites for yourself, you may prefer just using Primo Desktop. But this project allows you to run Primo in the cloud so that you can access and edit your sites from any device and collaborate with other developers/content editors*, as well as edit them from Primo Desktop.

*not at the same time

Project Status

Primo Server is in Alpha. Features may break from version to version, but probably not enough to delete all your data or anything drastic.

Until we ge to Beta, we can't recommend using primo in production (but it's good enough for personal projects).

How it works

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

Setup

Primo can be run on the free tier of both services (Vercel & Supabase), but you'll need to sign in with Github.

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

1. Deploy Backend (Supabase)

  1. Create a Supabase account or sign in with Github
  2. Create a new project
  3. When it's ready, select 'SQL' from the sidebar navigation
  4. Click + New query
  5. Paste in the contents of ./primo_schema.sql and click 'RUN'
  6. Disable Email confirmations (Authentication > Settings > Email Auth)

2. Deploy Frontend (Vercel)

Deploy with Vercel

  1. Click this nice button and follow the prompts.
  2. Under 'Configure Project', 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)
  3. Click 'Deploy'
  4. Sign up with an email address and password (this will be the admin account). For now, the server has a single email/password account which can send invitation URLs to collaborators.

Loose Ends

  1. Disable Signups (Authentication > Settings > Email Auth) to keep internet strangers away from your sites.

Contributing

Feel free to look for open issues in this repo and the primo repo. If you find a bug or find yourself needing something from primo that it can't do, please open an issue to start discussion.

If you have any ideas or time to contribute, feel free to open an issue or come talk to us in the primo Discord.

test-blog's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.