Skip to content

Installation

We provide container images for use with Docker and other containerization tools.

Terminal window
$ docker pull astheno/shale

When deploying live it is recommended to pin your image version to its specific sha256:<hash>.

Shale will currently store server-side data using SQLite. More options are coming soon.

When configuring Shale in a containerized environment there are a number of filesystem volumes you should be aware of.

  • /data
    • When using SQLite as your database, this folder is where Shale will store it.
  • /repositories_mirrors
    • This is the folder where the .git data for mirrors will be populated. Mirros can be configured using the MIRROR environment variable.
  • /repositories_owned
    • This is the folder where the .git data for repositories created by users will be stored.

Shale is configurable via various environment variables. See them all here.

DOMAIN and SERVER_TITLE are recommended for every instance.

Use MIRROR to maintain a copy of external repositories on your own. These will pull for updates hourly. Using this feature does not require setting OAUTH2_CLIENT.

OAUTH2_CLIENT is used to enable integration with an external identity provider. Setting this will enable users of that identity provider to login to instance and interact with it.

After setting up your instance, the first user to login will be granted administrator privileges.