HOMER WebApp

HOMER 7.x 前端和 API 服务器。「HOMER 7.x Front-End and API Server」

Github星跟踪图

HOMER WebApp

This repository hosts homer-app, the the GO webapplication for the HEP/HOMER 7.7+ stack.

Instructions

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.

Requirements

  • golang 1.13+
  • postgres 11+
  • git 2.7+
  • optional
    • prometheus
    • influxdb
    • loki

Installation

Local

To get dependencies and compile the latest homer-app on your system, use the following commands:

make modules
make all
Docker

To get dependencies and compile the latest homer-app using a docker builder, use the following command:

make binary
make frontend

Configuration

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

Usage

Command Help
./homer-app -h
Custom Config in /etc
./homer-app -webapp-config-path=/etc
Initialization

The application is able to initialize its database and tables it requires with the following commands:

Create User
./homer-app -create-homer-user -database-root-user=postgres -database-host=localhost -database-root-password=postgres
Show User
./homer-app -show-db-users -database-root-user=postgres -database-host=localhost -database-root-password=postgres
Create Homer DBs
./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
Create User permissions
./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"

Create Table / Migration - connection data will be read from webapp_config.json
./homer-app -create-table-db-config 

or

./homer-app -create-table-db-config -webapp-config-path=/etc/webapp_config.json
Populate DB
./homer-app -populate-table-db-config 
Upgrade / Migration - connection data will be read from webapp_config.json
./homer-app -upgrade-table-db-config 
Re- Populate Config DB
./homer-app -populate-table-db-config -force-populate
Re- Populate Config DB for specific table/tables
./homer-app -populate-table-db-config -force-populate -populate-table=mapping_schema -populate-table=user_settings
Reset UI password for any user:
./homer-app -update-ui-user=admin -update-ui-password=mypassword


Swagger APIs

Requirements

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

DEB, RPM Packages

To build a full package, including the latest frontend code:

make package

The application will deploy to /usr/local/bin with config in /etc

Docker Image

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.

Made by Humans

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

Donate

(C) 2008-2020 QXIP BV

主要指标

概览
名称与所有者sipcapture/homer-app
主编程语言Go
编程语言Shell (语言数: 5)
平台Docker, Linux
许可证GNU Affero General Public License v3.0
所有者活动
创建于2018-06-16 20:31:06
推送于2025-04-16 22:56:03
最后一次提交2025-04-10 16:08:02
发布数118
最新版本名称1.5.9 (发布于 )
第一版名称0.1.0 (发布于 )
用户参与
星数214
关注者数37
派生数90
提交数1.5k
已启用问题?
问题数417
打开的问题数16
拉请求数160
打开的拉请求数6
关闭的拉请求数17
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?