{"id":16119380,"url":"https://github.com/codingchili/zapperfly-asm","last_synced_at":"2026-02-04T10:16:40.967Z","repository":{"id":87434694,"uuid":"88643032","full_name":"codingchili/zapperfly-asm","owner":"codingchili","description":"Tiny clustered build server that aims to be customizable without relying on third party plugins.","archived":false,"fork":false,"pushed_at":"2019-04-19T12:28:40.000Z","size":568,"stargazers_count":2,"open_issues_count":10,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T17:18:09.146Z","etag":null,"topics":["build-tools","chili-core","ci","clustering","docker","hazelcast","polymer","vertx"],"latest_commit_sha":null,"homepage":"https://zapperfly-asm.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codingchili.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-18T15:48:04.000Z","updated_at":"2019-04-19T12:28:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"83609f04-a280-4bfe-97f2-69f781e4b3d1","html_url":"https://github.com/codingchili/zapperfly-asm","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/codingchili/zapperfly-asm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingchili%2Fzapperfly-asm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingchili%2Fzapperfly-asm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingchili%2Fzapperfly-asm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingchili%2Fzapperfly-asm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codingchili","download_url":"https://codeload.github.com/codingchili/zapperfly-asm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingchili%2Fzapperfly-asm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259650959,"owners_count":22890385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-tools","chili-core","ci","clustering","docker","hazelcast","polymer","vertx"],"created_at":"2024-10-09T20:54:00.306Z","updated_at":"2026-02-04T10:16:40.902Z","avatar_url":"https://github.com/codingchili.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zapperfly-asm [![Build Status](https://travis-ci.org/codingchili/zapperfly-asm.svg?branch=master)](https://travis-ci.org/codingchili/zapperfly-asm)\nExtra-simple clustered build servers for continuous integration. Minimal configuration required, installation is as simple as starting a Java application. [Demo video!](https://www.youtube.com/watch?v=t4fKgGerj8I)\n\n![alt text](https://raw.githubusercontent.com/codingchili/zapperfly-asm/master/preview.webp \"Current snapshot version\")\n\n# Installing\n\nDownload the latest release from [releases](https://github.com/codingchili/zapperfly-asm/releases), unpack where you want to run it.\n\n##### To save the default configuration to file (optional)\n```console\n./zapperfly --configure\n```\n\n##### Add users with the following command.\n```console\n./zapperfly --user --name \u003cuserName\u003e --pass \u003cuserPassword\u003e --role \u003cadmin|user\u003e\n```\n\n--pass: if omitted a random password will be generated.\n\n--role: if omitted the role will default to 'user'.\n\n\n##### To start it all up, run the following on each host.\n```console\n./zapperfly --start --group \u003cgroupName\u003e --name \u003cinstanceName\u003e --website \u003cport, default 443\u003e\n```\n\n--group: specifies the virtual group for the instances, different groups will not cluster together.\n\n--name: the name of the instance as displayed in the website or when listing available executors.\n\n--website: starts the graphical user interface on port 443, or the specified port.\n\n##### If you want to build it yourself, clone this repository with git and run:\n```console\n./gradlew archiveZip\n```\n\n# Run with docker\n\nRun the following command to build the docker image\n\n```console\ngradlew archiveZip \u0026\u0026 docker build -f Dockerfile build/distributions\n```\n\nRunning the container\n```console\ndocker run -it -p 5701:5701 -e ZAPPER_PWD=secret \u003cimage-id\u003e\n```\n\n-p is optional, required for clustering. increase the first port in the pair\nfor each container.\n\n-e is optional, ZAPPER_PWD is the password of the 'root' user. if unset\nthe default password is blank.\n\nOnce the container is started the web interface is available on https://\u003ccontainer-ip\u003e/.\n\n# Features 😎\n- build scheduling over multiple hosts\n- real time log monitoring\n- running the build sersver in a docker container.\n- running builds in docker containers.\n- tune workload per instance based on number of parallel builds.\n- support for role-base authentication\n- basic plugin system for integrations\n\nThere are three levels of authorization,\n\n- admin: may add build configurations and edit existing. (is also an user)\n- user: may view build logs and start builds.\n- public: may view the build queue and build history - no build logs.\n\n# Background\nBuild servers are often hard to setup and involves some serious configuration overhead. The purpose of the zapperfly assembly server is \nto provide the simplest build server experience there is, with clustering. To simplify installation, minimal environmental dependencies \nare required. An optimal installation experience should include no more than installing Java. We aim to make the core product small\nenough so that you can modify it according to your own needs. 🐇\n\n# Makes use of\nThis project makes use of chili-core, which means that vertx and hazelcast is on your classpath. What a boon!😵🌟\n\n# License\nThe MIT License (MIT) Copyright (c) 2018 Robin Duda\n\nSee: LICENSE.md\n\n# Contributing\npull requests, code reviews, feature suggestions and more welcome. :smile_cat:  :cherry_blossom:\n\n[![donate](https://img.shields.io/badge/donate-%CE%9ETH%20/%20%C9%83TC-ff00cc.svg?style=flat\u0026logo=ethereum)](https://commerce.coinbase.com/checkout/673e693e-be6d-4583-9791-611da87861e3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingchili%2Fzapperfly-asm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodingchili%2Fzapperfly-asm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingchili%2Fzapperfly-asm/lists"}