Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/topi314/goapps
Simple Service Dashboard
https://github.com/topi314/goapps
dashboard golang homelab oidc services
Last synced: 3 days ago
JSON representation
Simple Service Dashboard
- Host: GitHub
- URL: https://github.com/topi314/goapps
- Owner: topi314
- License: apache-2.0
- Created: 2023-06-07T07:40:57.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-19T16:00:35.000Z (9 months ago)
- Last Synced: 2024-02-19T17:37:13.066Z (9 months ago)
- Topics: dashboard, golang, homelab, oidc, services
- Language: Go
- Homepage:
- Size: 705 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Go Report](https://goreportcard.com/badge/github.com/topi314/goapps)](https://goreportcard.com/report/github.com/topi314/goapps)
[![Go Version](https://img.shields.io/github/go-mod/go-version/topi314/goapps)](https://golang.org/doc/devel/release.html)
[![goapps License](https://img.shields.io/github/license/topi314/goapps)](LICENSE)
[![goapps Version](https://img.shields.io/github/v/tag/topi314/goapps?label=release)](https://github.com/topi314/goapps/releases/latest)
[![Docker](https://github.com/topi314/goapps/actions/workflows/docker.yml/badge.svg)](https://github.com/topi314/goapps/actions/workflows/docker.yml)
[![Discord](https://discordapp.com/api/guilds/608506410803658753/embed.png?style=shield)](https://discord.gg/sD3ABd5)# goapps
A simple service dashboard with custom icons, names and links.
Services can be hidden depending on OIDC groups & users.Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Docker](#docker)
- [Docker Compose](#docker-compose)
- [Manual](#manual)
- [Requirements](#requirements)
- [Build](#build)
- [Run](#run)
- [Configuration](#configuration)
- [License](#license)
- [Contributing](#contributing)
- [Contact](#contact)## Features
- OIDC Authentication
- Customizable icons, names, descriptions and links
- Hide services depending on OIDC groups & users
- Dark & Light mode
- Responsive design
- Docker support
- Easy to use
- No database required## Installation
### Docker
The easiest way to deploy goapps is using docker with [Docker Compose](https://docs.docker.com/compose/). You can find the docker image on [Packages](https://github.com/topi314/goapps/pkgs/container/goapps).
#### Docker Compose
Create a new `docker-compose.yml` file with the following content:
```yaml
version: "3.8"services:
goapps:
image: ghcr.io/topi314/goapps:latest
container_name: goapps
restart: unless-stopped
volumes:
- ./goapps.yml:/var/lib/goapps/goapps.yml:ro
- ./icons/:/var/lib/goapps/icons/:ro
ports:
- 80:80
```For `goapps.yml` see [Configuration](#configuration).
```bash
docker-compose up -d
```---
### Manual
#### Requirements
- Go 1.22 or higher
#### Build
```bash
git clone https://github.com/topi314/goapps.git
cd goapps
go build -o goapps
```or
```bash
go install github.com/topi314/goapps@latest
```#### Run
```bash
goapps --config=goapps.yml
```---
## Configuration
Create a new `goapps.yml` file with the following content:
```yml
log:
# log level, either "debug", "info", "warn" or "error"
level: info
# log format, either "json" or "text"
format: text
# whether to add the source file and line to the log output
add_source: false# enable or disable hot reload of templates and assets
dev_mode: false
# enable or disable debug profiler endpoint
debug: falseserver:
# on which address & port to listen
listen_addr: 0.0.0.0:80
# the title of the page
title: goapps
# the icon of the page
icon: icon/goapps.png
# where to find the custom icons
icons_dir: ./icon# auth configuration for OIDC
auth:
# if the site is http or https
secure: true
# the OIDC issuer URL
issuer_url: https://auth.example.com
# the client ID
client_id: goapps
# the client secret
client_secret: secret
# the redirect URL for the OIDC callback
redirect_url: https://example.com/callback
# the oidc audience which must be present in the id token
audience: goapps# the services to display on the dashboard
services:
# the name of the service
- name: example
# the description of the service (optional)
description: example service
# the icon of the service (can also be a url to an external site) (optional)
icon: icon/example.png
# the link to the service
link: https://example.com
# the groups that can see the service (optional)
groups: [ group1 ]
# the users that can see the service (optional)
users: [ user1 ]
}
```---
## License
goapps is licensed under the [Apache License 2.0](/LICENSE).
---
## Contributing
Contributions are always welcome! Just open a pull request or discussion and I will take a look at it.
---
## Contact
- [Discord](https://discord.gg/sD3ABd5)
- [Twitter](https://twitter.com/topi314)
- [Email](mailto:[email protected])