Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

musec/clowder

Open more actions menu

Repository files navigation

Clowder on crates.io Clowder on travis-ci.org

Getting started

GitHub

Clowder uses OAuth for authentication, with the current provider being GitHub. At your local site, you need to create a GitHub OAuth application with your own Client ID and Client Secret. Set up environment variables containing these values, or put them in a .env file in your source directory:

echo "CLOWDER_GH_CLIENT_ID=aaaaaaaaaa" > .env
echo "CLOWDER_GH_CLIENT_SECRET=aaaaaaaaaa" >> .env

Rust

For the moment, we depend on crates that depend on Rust nightly (see SergioBenitez/Rocket#19 for our main blocker). You will likely want to use Rustup to install the nightly version of Rust.

Database

Clowder requires a database to be created that is accessible to the user running the service. Using Postgres (at least on FreeBSD), this looks like:

# service postgresql initdb
# service postgresql start
# su - postgres
$ createuser ${username}    # with a username like, e.g., clowder
$ psql postgres
postgres=# create database clowder;
postgres=# grant all on database clowder to ${username};

You should set the database URL in an environment variable, or in a .env file within your source directory:

$ echo "export DATABASE_URL=postgres://localhost/clowder" >> .env

Once the database has been created, we use the Diesel ORM to initialize it:

$ cargo install diesel_cli
$ cd path/to/clowder/source
$ diesel migration run

Clowder

Once Rust and the Clowder database have been set up, you can build and run Clowder!

$ cargo build
$ cargo run

Development environment

Fake user account

You can set CLOWDER_FAKE_GITHUB_USERNAME in your environment (or .env file) to provide a username to be treated as if it were obtained from the normal GitHub OAuth workflow.

Reloading

For development purposes, I like to use cargo-watch to rebuild whenever I change a source file:

$ cargo watch --ignore '*.swp' --exec run

This goes quite nicely with LiveReload.

About

Software for managing clusters of computers

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  
Morty Proxy This is a proxified and sanitized view of the page, visit original site.