1
0
Fork 0
mirror of https://github.com/WINGS-N/unica-wb.git synced 2026-11-13 10:16:53 +00:00
a web builder for Samsung UN1CA custom firmware
  • Python 40.2%
  • Vue 18%
  • JavaScript 17.5%
  • Go 14.6%
  • CSS 4.7%
  • Other 5%
Find a file
2026-08-14 07:01:09 +03:00
.github/workflows [app] keep download progress on the firmware it was started for 2026-08-10 08:36:42 +03:00
backend [backend/tasks] expand sparse images when packing a dsu package 2026-08-14 07:01:09 +03:00
desktop [desktop] stamp the splash log on a 24 hour clock 2026-08-11 06:23:13 +03:00
frontend [frontend/ui] offer the local update on jobs too 2026-08-11 12:40:14 +03:00
scripts [release] v3.0.0 2026-08-10 05:00:34 +03:00
.dockerignore initial commit 2026-02-03 23:13:46 +03:00
.env.example initial commit 2026-02-03 23:13:46 +03:00
.gitignore [release] v3.0.0 2026-08-10 05:00:34 +03:00
docker-compose.local-repo.yml docker: fix compose services name duplication 2026-02-04 06:40:01 +03:00
docker-compose.yml [backend] stop a restarting api from wiping a running clone 2026-08-10 06:45:49 +03:00
LICENSE initial commit 2026-02-03 23:13:46 +03:00
README.md [docs] write the readme 2026-08-10 11:17:28 +03:00

UN1CA Builder

Interface for building UN1CA custom firmware for Samsung Galaxy devices. Pick a device, a source and a target firmware, press build, watch it run

Requirements

  • A Linux host with loop devices, FUSE and the f2fs kernel module. The builder checks all three on startup and offers to enable whatever is missing
  • Docker with Compose, running rootful: the build container is privileged. The launcher asks for the password and escalates on its own when the local daemon is rootless
  • amd64
  • Around 100 GB of free disk per device you build for

Install

Grab a package from the releases: .deb, .AppImage, a tarball or a bare binary

sudo dpkg -i unica-wb_*_linux_amd64.deb
unica-wb

The launcher starts the whole stack in Docker and opens the interface in its own window, so nothing has to be typed in a terminal. It carries the interface inside the binary and pulls the rest of the images itself

The first start clones the firmware sources and downloads the Samsung firmware, which takes a while

See desktop/README.md for how it is built and configured

Run on a server

Without a desktop, run the same stack directly and open the interface in a browser

git clone https://github.com/WINGS-N/unica-wb.git
cd unica-wb
docker compose up -d

The interface is on port 8080, the API on 8000

What it does

  • Builds a ROM from a source and a target firmware, with live stage progress and a full log
  • Workspaces - several checkouts side by side, each with its own repository, targets and settings, optionally sharing one firmware cache
  • Mods - turn any mod off for a single build, or upload an archive of extra mods and pick which of them apply
  • Debloat and floating features - edit the lists and the feature flags per build
  • Queue - jobs run one at a time, can be stopped, and keep their logs and artifacts

Interface

Works as a PWA: installable, and sends a push notification when a build finishes. English and Russian

Configuration

The launcher reads UNICA_WB_* environment variables, listed in desktop/README.md. It has no .env of its own

The stack reads a .env next to docker-compose.yml, which the launcher passes through when there is one

Variable Meaning
GIT_URL Firmware repository to clone
GIT_REF Branch or tag to check out
LOCAL_UN1CA_PATH Build from a local checkout instead, with docker-compose.local-repo.yml

Set a password in Settings to close the interface off, and add a git token there if the repository is private

License

GPL-3.0-or-later