Skip to content
Branch: master
Go to file

Latest commit

marmarek committed e94c108 Jul 1, 2020
autoupdate: _doc
    gpg: Good signature from "Andrew David Wong (Qubes Documentation Signing Key)" [ultimate]
    object 931e6b9a50842df8e2d3480e58ea944c25b219d8
    type commit
    tag adw_931e6b9a
    tagger Andrew David Wong <> 1593603543 -0500

    Tag for commit 931e6b9a50842df8e2d3480e58ea944c25b219d8

    931e6b9a Update dead link


Failed to load latest commit information.
Latest commit message
Commit time

Build Status

Qubes OS Official Website

Canonical URL:

This is the main repository for the Qubes OS Project website. Qubes is a security-oriented, open-source operating system for personal computers. It uses virtualization to implement security by compartmentalization and supports both Linux and Windows virtual environments.


Support us with a monthly donation and help us continue our activities. [Become a backer]


Is your organization using Qubes? Ask your manager to support us. Your organization's logo will show up on our Partners page. [Become a supporter]


This repository consists of a Jekyll site and several Git submodules for content:

  • qubes-doc (official documentation)
  • qubes-attachment (binary files such as images)
  • qubes-hcl (Hardware Compatibility List (HCL) reports generated by a YAML version of qubes-hcl-report)
  • qubes-posts (news and blog posts)


Docker Compose

  1. Install the Docker Engine and Docker Compose.

  2. Start the Docker daemon, e.g.:

     $ sudo systemctl start docker
  3. Clone this repo, including all submodules, and enter it:

     $ git clone --recursive
     $ cd
  4. Start and run the website:

     $ sudo make
  5. Open your browser and navigate to:

Jekyll on Fedora

  1. Install dependencies:

     $ sudo dnf install redhat-rpm-config ruby ruby-devel zlib-devel nodejs
  2. Clone this repo, including all submodules, and enter it:

     $ git clone --recursive
     $ cd
  3. Update RubyGems:

     $ sudo gem update --system
  4. Install required Gems:

     $ gem install jekyll bundler github-pages
  5. Serve the website:

     $ bundle exec jekyll serve
  6. Open your browser and navigate to:


  • To update the submodules, use git submodule foreach git pull --tags.

  • For troubleshooting with RubyGems, see:

  • For troubleshooting with Jekyll, see:

  • For troubleshooting with GitHub pages and Jekyll, see:

  • To run on a Git post-receive hook, use:

     if [ ! -d "$GIT_CLONE" ]; then
         git clone --recursive $GIT_REPO $GIT_CLONE
         git --work-tree=$GIT_CLONE --git-dir=$GIT_CLONE/.git pull
     cd $GIT_CLONE && jekyll build -s $GIT_CLONE -d $PUBLIC_WWW
     find $PUBLIC_WWW -type f -print0 | xargs -0 chmod 666
     find $PUBLIC_WWW -type d -print0 | xargs -0 chmod 777

Documentation Guidelines

Our Documentation Guidelines include:

  • How to Report Issues
  • How to Contribute
  • Contribution Suggestions
  • Style Guidelines
  • Markdown Conventions
  • Git Conventions

Please carefully read these guidelines before submitting a pull request.

Dependencies & Third Party Docs

Deprecated Documentation

You can’t perform that action at this time.