Skip to content

lumeland/cms-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 

Repository files navigation

Deploy LumeCMS in a VPS

Requirements

  • A VPS with Ubuntu 24.04 with root access and a domain like cms.example.com.

LumeCMS configuration

Enable the authentication and GIT in the _cms.ts file:

// user and pass are environment variables, stored in an .env file
const user = Deno.env.get("CMS_USER") ?? "admin";
const pass = Deno.env.get("CMS_PASSWORD") ?? "";

cms.auth({
  [user]: pass,
});

// Enable git to pull/push changes
cms.git();

Instructions

  1. Log in from SSH and run:

    curl https://lumeland.github.io/cms-deploy/install.sh > install.sh && sh install.sh
  2. After updating and installing some packages, the script will ask you to add a site. If you choose yes (Y) it will ask you for the following info:

    • The SSH URL of the repository. Example: git@github.com:user/repo.git.
    • An email. It's used for git commits, or to create the SSL certificate.
    • The domain for the site: cms.example.com.
    • During the process, it will ask you to add a deploy key.
      • Go to the GitHub respository / Settings / Deploy keys / Add deploy key.
      • Paste the key printed in the terminal.
      • Check "Allow write access".
      • Once the key is added, press Enter in the terminal to continue.
  3. Optionally, you can configure a domain to serve the production site (the static sites). This requires a different domain from the admin site. For example, you can have cms.example.com to run LumeCMS and preview the changes, and example.com for the final public site.

  4. Done! When the script is finished you should see your site and be able to edit the pages (it might take a while the first time).

To add additional sites, run sh add-site.sh.

About

Run LumeCMS in a VPS

Resources

Stars

Watchers

Forks

Contributors

Languages