Skip to main content

baya — FabricStudio, self-hosted

Installs and operates FabricStudio on your own Linux server: one command brings up the whole platform, and each engineer works in their own workspace, on their own home directory, signed in through a browser.

Published as bayafs; the command is baya.

Requirements

  • Linux x86-64 — RHEL/Oracle 9, Debian 13, Ubuntu 22.04+, or SLES 15
  • 4+ CPUs, 16 GB+ RAM, 100 GB+ free disk
  • Python 3.9 or newer
  • root: the installer manages docker, Kubernetes, and ports 80/443
  • Inbound 80 and 443 from your users; outbound HTTPS to Baya and to Google Artifact Registry
  • A licence key from Baya

Install

sudo python3 -m venv /opt/baya
sudo /opt/baya/bin/pip install bayafs
sudo ln -sf /opt/baya/bin/baya /usr/local/bin/baya

sudo baya doctor                      # check this host first; every failure names its fix
sudo baya license set <licence-key>
sudo baya storage set --base /home    # where your engineers' home directories live
sudo baya init --hostname fs.yourcompany.com

A virtual environment rather than a plain pip install: several distributions mark their system Python externally managed and refuse, and a user-level install puts baya where sudo cannot see it.

init installs what is missing, starts a single-node Kubernetes cluster, pulls the images your licence entitles you to, and brings up the platform — about ten minutes. It is safe to re-run: a failed step resumes rather than repeats.

--hostname is the address your users will type. It goes into the certificate, the login redirect, and the tokens, so changing it later means re-running init.

Give people access

sudo baya user map you@yourcompany.com --linux-user "$USER" --name "Your Name" --admin
sudo baya verify

user map binds a login to a local account and starts that person's workspace on their real home directory — files their designs produce are owned by them, exactly as if they had run the tools from a shell. The account must already exist and own that directory, or the mapping is refused rather than half-applied.

It also creates the account they sign in with, printing a one-time password unless you pass --password. Map yourself first, with --admin: nobody can sign in to a fresh install until someone is mapped, and the admin role is what opens the admin console inside the GUI. No identity provider is needed for this — the bundled Keycloak holds the account.

verify proves the install works end to end — every service, the TLS front door, the login page, the identity provider, and each person's workspace — and names the command to run for anything that does not.

Then open https://<hostname> and sign in. The certificate is self-signed until you supply your own, so browsers will warn.

Everyday commands

sudo baya status                 # version, health, licence, storage
sudo baya verify                 # end-to-end check; run it after every change
sudo baya user list              # every mapping and the state of its workspace
sudo baya user describe <email>  # one mapping, re-verified against the filesystem
sudo baya storage describe       # the base, its filesystem, and every mapping
sudo baya admin list             # everyone's roles, and who can administer
sudo baya admin grant <email>    # give someone the admin role
sudo baya release list           # versions your licence allows
sudo baya start | stop | restart # the whole install
sudo baya uninstall --yes        # removes the install; never touches your users' files

sudo baya selftest runs an offline check of the tool itself, with no cluster and no credential — safe to run any time, including before you have a licence key.

Not yet available

These are specified and coming; this release does not have them:

  • baya idp add — federate your own identity provider (Entra, Google, GitHub, OIDC). Until then, sign-in accounts are held by the bundled Keycloak and created by user map, which is a complete way to run the install, not a workaround.
  • baya tls set — install your own certificate. Until then the self-signed certificate generated at install is what browsers see.
  • baya update / baya rollback — move between versions.
  • baya workspace — per-engineer pod operations.
  • baya logs — service logs without kubectl.
  • baya support-bundle — a redacted diagnostic bundle for Baya.

Licensed software. baya itself is freely installable; running FabricStudio requires a licence key issued by Baya Systems.

Metadata

Release files for bayafs 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bayafs 0.1.3
File Size Uploaded
bayafs-0.1.3.tar.gz 59.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bayafs 0.1.3
File Interpreter ABI Platform
bayafs-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 123.7 kB

Release files / bayafs-0.1.3.tar.gz

Download URL bayafs-0.1.3.tar.gz
Size 59.5 kB
Tags Source
SHA-256 checksum
How to use checksums
30323798f051ac99c5f33f3c4ab2be943aa82ec605e2ac143cceaa54d961b7fb
BLAKE2b-256 checksum
How to use checksums
fb42059bdcd264bc37a60d35ca4cc22d8e825117446a008017cab739443cf746
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / bayafs-0.1.3-py3-none-any.whl

Download URL bayafs-0.1.3-py3-none-any.whl
Size 64.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
186b0dd1cdd6ce8ccccdd474ff077089063d64cd69e45ebb8f765f88656816a9
BLAKE2b-256 checksum
How to use checksums
c55845cf02b83177744774584392f49ffea311e5d052cccf102e18fe33ac6651
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.23

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.16

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page