This repository hosts homer-app
, the the GO webapplication for the HEP/HOMER 7.7+ stack.
If you want to install Homer please refer to the project readme
If you're just interested in using homer-app
, download, configure and run the latest release or package.
- golang 1.13+
- postgres 11+
- git 2.7+
- optional
- prometheus
- influxdb
- loki
To get dependencies and compile the latest homer-app on your system, use the following commands:
make modules
make all
To get dependencies and compile the latest homer-app using a docker builder, use the following command:
make binary
make frontend
Before using the application, configure all database parameters using the example configuration file:
/usr/local/homer/etc/webapp_config.json
NOTE: The default location for settings and provisioning files is /usr/local/homer
./homer-app -h
./homer-app -webapp-config-path=/etc
The application is able to initialize its database and tables it requires with the following commands:
./homer-app -create-homer-user -database-root-user=postgres -database-host=localhost -database-root-password=postgres
./homer-app -show-db-users -database-root-user=postgres -database-host=localhost -database-root-password=postgres
./homer-app -create-config-db -database-root-user=postgres -database-host=localhost -database-root-password=postgres -database-homer-user=homer_user
./homer-app -create-data-db -database-root-user=postgres -database-host=localhost -database-root-password=postgres -database-homer-user=homer_user
./homer-app -create-homer-role -database-root-user=postgres -database-host=localhost -database-root-password=postgres -database-homer-data=homer_data -database-homer-config=homer_config
Please setup the correct credentials for homer_config and homer_data DB in your webapp_config.json !!!
if your webapp_config.json isn't in the default directory: "/usr/local/homer/etc", use the flag "-webapp-config-path" to correct it. Same have to be applied to all steps there you read settings from "webapp_config.json"
./homer-app -create-table-db-config
or
./homer-app -create-table-db-config -webapp-config-path=/etc/webapp_config.json
./homer-app -populate-table-db-config
./homer-app -upgrade-table-db-config
./homer-app -populate-table-db-config -force-populate
./homer-app -populate-table-db-config -force-populate -populate-table=mapping_schema -populate-table=user_settings
./homer-app -update-ui-user=admin -update-ui-password=mypassword
Swagger APIs can be generated from inside the homer-app
To generate swagger.json file run below command insider homer-app
swagger generate spec -m -o ./swagger.json
To Serve swagger.json file run below command
swagger serve -F=swagger swagger.json
To build a full package, including the latest frontend code:
make package
The application will deploy to /usr/local/bin
with config in /etc
This application is available on dockerhub as sipcapture/webapp
To build a full bundle locally, including the latest frontend code:
make docker
For working examples and ready to run recipes see homer7-docker
This project is part of HOMER
This project is released under the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This Open-Source project is made possible by actual Humans without corporate sponsors, angels or patreons.
If you use this software in production, please consider supporting its development with contributions or donations