Fabrica is a web service to be run on an lxd appliance. It spawns a web ui that allows you to point to cloneable git trees, initializes lxd containers and builds snap packages of the provided source trees.
To use fabrica you can use the steps below:
snap install lxd
sudo lxd init # hit enter for all questions
snap install fabrica
snap connect fabrica:lxd lxd:lxd
snap connect fabrica:mount-observe
snap connect fabrica:system-observe
snap connect fabrica:ssh-keys
Now fabrica will come up on port 8000. Point your web browser to http://localhost:8000 (or to the external IP instead of localhost) and add some git tree to it.
Note that in its current state fabrica only builds snap packages for the used host architecture (i.e. to build armhf or arm64 snaps, you need to use a raspberry Pi4 and install lxd and fabrica on it)
The branches are checked every 5 minutes for new commits. Builds start automatically when a new commit is detected.
Since the service is currently only available via http and also has no authentication management, it is recommended to only use it in in-house setups.
Issues and bugs should be filed at:
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
You are about to open
Do you wish to proceed?
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
On Arch Linux, snap can be installed from the Arch User Repository (AUR). The manual build process is the Arch-supported install method for AUR packages, and you’ll need the prerequisites installed before you can install any AUR package. You can then install snap with the following:
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
If AppArmor is enabled in your system, enable the service which loads AppArmor profiles for snaps:
sudo systemctl enable --now snapd.apparmor.service
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap
and /snap
:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
To install fabrica - your own snap build factory, simply use the following command:
sudo snap install fabrica
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.
Get to know Canonical, the company behind the products.
The world's favourite Linux OS for servers, desktops and IoT.
One subscription for security maintenance, support, FIPS and other compliance certifications.
The app store for Linux: secure packages and ultra-reliable updates.
A pure-container hypervisor. Run system containers and VMs at scale.
Build a bare metal cloud with super fast server provisioning.
Upgrades, maintenance, support, and fully managed options for long-term, low-cost infra.
Software-defined storage that lowers your total cost of ownership.
App portability for K8s on VMware, Amazon, Azure, Google, Oracle, IBM and bare metal.
Deploy, integrate and manage applications at any scale, on any infrastructure.
Stream Android applications to any device.
The software collaboration platform behind Ubuntu.
Optimised Ubuntu for public clouds.
Spin up Ubuntu VMs on Windows, Mac and Linux.
Control and customise your cloud instances.
Systems management and security patching for Ubuntu.
Simplify and standardise complex network configuration.
AI and MLOps at any scale, on any cloud.
Deploy a fully functional cloud in minutes.