Steven Polley
d17f7c50d8
All checks were successful
continuous-integration/drone/push Build is passing
|
||
---|---|---|
public | ||
.drone.yml | ||
.gitignore | ||
Dockerfile | ||
go.mod | ||
main.go | ||
ota-logo.jpg | ||
README.md |
lineageos-ota-server
A highly-scalable and lightweight OTA Server for LineageOS. The OTA server supports a single device model (eg: Google Pixel), if you intend to have OTA's available for a variety of device models, just create an additional OTA server instance for each device.
docker compose example
The service listens on port 8080 by default. Mount the output directory for the builds of the device you wish to serve to the /out folder. Also, mount a persistent public directory which will be served publicly. The public folder can be shared across multiple OTA server instances if you wish.
version: '3.8'
lineageos-ota:
image: registry.deadbeef.codes/lineageos-ota-server:latest
restart: always
expose:
- "8080"
volumes:
- /data/android/lineage/out/target/product/sunfish:/out
- /data/android/public:/public
How to point device to OTA server
The recommended way is to include the configuration inside your build of the ROM. We do this by by including the URL as a system build.prop by doing the following:
Create new file /data/android/lineage/vendor/lineage/build/core/deadbeef-ota.mk
# deadbeef.codes LineageOS OTA update server - replace with your own URL
ADDITIONAL_SYSTEM_PROPERTIES += \
lineage.updater.uri=https://lineageos-ota.deadbeef.codes
Edit /data/android/lineage/vendor/lineage/build/core/main.mk to include deadbeef-ota.mk
# Include LineageOS versions
include $(TOPDIR)vendor/lineage/build/core/main_version.mk
# Include deadbeef.codes OTA server
include $(TOPDIR)vendor/lineage/build/core/deadbeef-ota.mk