Skip to content

staticland/staticland

Repository files navigation

staticland

Publish static sites with this command-line tool & API client for static.land

npm travis standard conduct

About

The staticland command-line tool is used to publish static sites to static.land and self-hosted instances of staticland-api.

Features

  • One command to deploy a site.
  • Automatic SSL using Let's Encrypt.
  • Use any static site generator.
  • Open source & MIT-licensed. Host it yourself to use it how you want.

Limitations

  • DNS records must be set up and propogated before deploying a site for the first time.
  • Setting aliases or redirects is not currently supported.

Deploying sites

Set up a staticland API server or use https://static.land.

Create an account on static.land:

staticland register

Use --server yourstaticlandserver.com to use a custom server.

Ensure that your domain's DNS settings are pointing at 52.39.104.182 (or the IP address of your custom server) before deploying:

host static.land
static.land has address 52.39.104.182

Setting the DNS before deploying is required for Let's Encrypt to successfully provision a certificate.

Deploy a site with auto-SSL:

staticland path/to/site/ example.com

The above command is a shorthand version of the deploy command, and works the same as this example:

staticland deploy path/to/site/ example.com

Install

npm i -g staticland

staticland requires Node.js and npm. Install Node.js if you haven't already.

Usage

USAGE:
  staticland {command} [options]

COMMANDS:
  register    create an account on a staticland server
  login       log in to a staticland server
  logout      log out of a staticland server
  deploy      deploy a static site to a staticland server
  password    change your password on a staticland server
  server      switch between staticland servers you've logged in to
  whoami      show which user you're using on which staticland server
  domain      check if domain dns is correctly set up with a staticland server
  help        show this help message

DEPLOY
  staticland deploy site/ example.com

  Options:
  -e, --exclude   exclude specific files and directories
  -s, --server    Specify a server to use instead of the hosted version at static.land

  You can drop the "deploy" subcommand for a shortened version:

    staticland site/ example.com

  To exclude file and directories:

    staticland site/ example.com -e bigfile.pdf -e secret.txt -e dir/of/super/big/files/

HELP
  staticland help

REGISTER
  staticland register

LOGIN
  staticland login

SERVER
  staticland server api.static.land

WHOAMI
  staticland whoami

Contributing

Contributions are welcome! Please read the contributing guidelines first.

Conduct

It's important that this project contributes to a friendly, safe, and welcoming environment for all, particularly for folks that are historically underrepresented in technology. Read this project's code of conduct

Change log

Read about the changes to this project in CHANGELOG.md. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Contact

License

MIT

About

Publish static sites with this command-line tool & API client for staticland

Resources

License

Stars

Watchers

Forks

Packages

No packages published