Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renamed project to emifuse #71

Merged
merged 1 commit into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .copier-answers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
_commit: 0.5.0
_src_path: gh:radio-aktywne/template-app-liquidsoap
accountname: radio-aktywne
appname: fusion
appname: emifuse
description: Audio streaming with Liquidsoap 🧼
docs: true
docsurl: https://radio-aktywne.github.io/app-fusion
envprefix: FUSION
imagename: apps/fusion
docsurl: https://radio-aktywne.github.io/app-emifuse
envprefix: EMIFUSE
imagename: apps/emifuse
registry: true
releases: true
reponame: app-fusion
repourl: https://github.com/radio-aktywne/app-fusion
reponame: app-emifuse
repourl: https://github.com/radio-aktywne/app-emifuse
4 changes: 2 additions & 2 deletions .github/workflows/registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ jobs:
push: true
# Slashes are here to make the string multiline and avoid using spaces
tags: "\
ghcr.io/radio-aktywne/apps/fusion\
ghcr.io/radio-aktywne/apps/emifuse\
:latest,\
ghcr.io/radio-aktywne/apps/fusion\
ghcr.io/radio-aktywne/apps/emifuse\
:${{ github.event.release.tag_name }}"
# Cache Docker layers between builds
cache-from: type=gha,scope=${{ github.workflow }}
Expand Down
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ The whole development environment will be running inside a container.
If you open the project in `Visual Studio Code`,
you should be prompted to reopen the project in a `Dev Container`.
You can also click
[here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/radio-aktywne/app-fusion)
[here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/radio-aktywne/app-emifuse)
or on the badge below to tell `Visual Studio Code`
to open the project in a `Dev Container`.

<div align="center">

[![Open in Dev Container](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/radio-aktywne/app-fusion)
[![Open in Dev Container](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/radio-aktywne/app-emifuse)

</div>

Expand Down Expand Up @@ -100,7 +100,7 @@ Here are the most common ones, using `Task`:

Linting is automatically run on every pull request and push to the `main` branch.
You can find the `GitHub Actions` workflow that does this in
[`.github/workflows/lint.yaml`](https://github.com/radio-aktywne/app-fusion/blob/main/.github/workflows/lint.yaml).
[`.github/workflows/lint.yaml`](https://github.com/radio-aktywne/app-emifuse/blob/main/.github/workflows/lint.yaml).

If you use the `Dev Container` setup,
you will have the `Trunk` extension installed in `Visual Studio Code`.
Expand Down Expand Up @@ -133,13 +133,13 @@ Every time you create a new release on `GitHub`,
a `GitHub Actions` workflow will automatically build and publish a new `Docker` image
to the `GitHub Container Registry`.
You can find the `GitHub Actions` workflow that does this in
[`.github/workflows/registry.yaml`](https://github.com/radio-aktywne/app-fusion/blob/main/.github/workflows/registry.yaml).
[`.github/workflows/registry.yaml`](https://github.com/radio-aktywne/app-emifuse/blob/main/.github/workflows/registry.yaml).

## 📄 Docs

This project uses [`Docusaurus`](https://docusaurus.io) to generate documentation.
The documentation is hosted on `GitHub Pages` and can be found
[here](https://radio-aktywne.github.io/app-fusion).
[here](https://radio-aktywne.github.io/app-emifuse).
All the documentation files are located in the `docs` directory.

To build and serve the documentation locally,
Expand All @@ -154,4 +154,4 @@ This will start a local server that will serve the documentation.
The documentation is automatically built and deployed to `GitHub Pages`
whenever a commit is pushed to the `main` branch.
You can find the `GitHub Actions` workflow that does this in
[`.github/workflows/docs.yaml`](https://github.com/radio-aktywne/app-fusion/blob/main/.github/workflows/docs.yaml).
[`.github/workflows/docs.yaml`](https://github.com/radio-aktywne/app-emifuse/blob/main/.github/workflows/docs.yaml).
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
<h1 align="center">fusion app</h1>
<h1 align="center">emifuse app</h1>

<div align="center">

Audio streaming with Liquidsoap 🧼

[![Lint](https://github.com/radio-aktywne/app-fusion/actions/workflows/lint.yaml/badge.svg)](https://github.com/radio-aktywne/app-fusion/actions/workflows/lint.yaml)
[![Image](https://github.com/radio-aktywne/app-fusion/actions/workflows/image.yaml/badge.svg)](https://github.com/radio-aktywne/app-fusion/actions/workflows/image.yaml)
[![Registry](https://github.com/radio-aktywne/app-fusion/actions/workflows/registry.yaml/badge.svg)](https://github.com/radio-aktywne/app-fusion/actions/workflows/registry.yaml)
[![Docs](https://github.com/radio-aktywne/app-fusion/actions/workflows/docs.yaml/badge.svg)](https://github.com/radio-aktywne/app-fusion/actions/workflows/docs.yaml)
[![Lint](https://github.com/radio-aktywne/app-emifuse/actions/workflows/lint.yaml/badge.svg)](https://github.com/radio-aktywne/app-emifuse/actions/workflows/lint.yaml)
[![Image](https://github.com/radio-aktywne/app-emifuse/actions/workflows/image.yaml/badge.svg)](https://github.com/radio-aktywne/app-emifuse/actions/workflows/image.yaml)
[![Registry](https://github.com/radio-aktywne/app-emifuse/actions/workflows/registry.yaml/badge.svg)](https://github.com/radio-aktywne/app-emifuse/actions/workflows/registry.yaml)
[![Docs](https://github.com/radio-aktywne/app-emifuse/actions/workflows/docs.yaml/badge.svg)](https://github.com/radio-aktywne/app-emifuse/actions/workflows/docs.yaml)

</div>

---

## 💡 About

`fusion` is a [`Liquidsoap`](https://www.liquidsoap.info)
`emifuse` is a [`Liquidsoap`](https://www.liquidsoap.info)
server that fuses music from playlists and live audio
and sends one output stream to broadcast servers.

## 📄 Further Reading

More in-depth documentation can be found
[here](https://radio-aktywne.github.io/app-fusion).
[here](https://radio-aktywne.github.io/app-emifuse).

## 💻 Development

Read more about how to develop the project
[here](https://github.com/radio-aktywne/app-fusion/blob/main/CONTRIBUTING.md).
[here](https://github.com/radio-aktywne/app-emifuse/blob/main/CONTRIBUTING.md).
28 changes: 14 additions & 14 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
services:
fusion:
emifuse:
build:
context: ./
network: host
environment:
- "FUSION__SERVER__SRT__PORT=${FUSION__SERVER__SRT__PORT:-9000}"
- "FUSION__SERVER__HTTP__PORT=${FUSION__SERVER__HTTP__PORT:-9001}"
- "FUSION__STATE__STORE__PATH=${FUSION__STATE__STORE__PATH:-data/state.json}"
- "FUSION__STATE__CACHE__TTL=${FUSION__STATE__CACHE__TTL:-60}"
- "FUSION__EMICAST__ICY__HOST=${FUSION__EMICAST__ICY__HOST:-localhost}"
- "FUSION__EMICAST__ICY__PORT=${FUSION__EMICAST__ICY__PORT:-8000}"
- "FUSION__EMICAST__ICY__USER=${FUSION__EMICAST__ICY__USER:-source}"
- "FUSION__EMICAST__ICY__PASSWORD=${FUSION__EMICAST__ICY__PASSWORD:-password}"
- "FUSION__EMICAST__ICY__MOUNT=${FUSION__EMICAST__ICY__MOUNT:-radio.mp3}"
- "FUSION__EMITUNES__HTTP__SCHEME=${FUSION__EMITUNES__HTTP__SCHEME:-http}"
- "FUSION__EMITUNES__HTTP__HOST=${FUSION__EMITUNES__HTTP__HOST:-localhost}"
- "FUSION__EMITUNES__HTTP__PORT=${FUSION__EMITUNES__HTTP__PORT:-42000}"
- "FUSION__EMITUNES__HTTP__PATH=${FUSION__EMITUNES__HTTP__PATH:-}"
- "EMIFUSE__SERVER__SRT__PORT=${EMIFUSE__SERVER__SRT__PORT:-9000}"
- "EMIFUSE__SERVER__HTTP__PORT=${EMIFUSE__SERVER__HTTP__PORT:-9001}"
- "EMIFUSE__STATE__STORE__PATH=${EMIFUSE__STATE__STORE__PATH:-data/state.json}"
- "EMIFUSE__STATE__CACHE__TTL=${EMIFUSE__STATE__CACHE__TTL:-60}"
- "EMIFUSE__EMICAST__ICY__HOST=${EMIFUSE__EMICAST__ICY__HOST:-localhost}"
- "EMIFUSE__EMICAST__ICY__PORT=${EMIFUSE__EMICAST__ICY__PORT:-8000}"
- "EMIFUSE__EMICAST__ICY__USER=${EMIFUSE__EMICAST__ICY__USER:-source}"
- "EMIFUSE__EMICAST__ICY__PASSWORD=${EMIFUSE__EMICAST__ICY__PASSWORD:-password}"
- "EMIFUSE__EMICAST__ICY__MOUNT=${EMIFUSE__EMICAST__ICY__MOUNT:-radio.mp3}"
- "EMIFUSE__EMITUNES__HTTP__SCHEME=${EMIFUSE__EMITUNES__HTTP__SCHEME:-http}"
- "EMIFUSE__EMITUNES__HTTP__HOST=${EMIFUSE__EMITUNES__HTTP__HOST:-localhost}"
- "EMIFUSE__EMITUNES__HTTP__PORT=${EMIFUSE__EMITUNES__HTTP__PORT:-42000}"
- "EMIFUSE__EMITUNES__HTTP__PATH=${EMIFUSE__EMITUNES__HTTP__PATH:-}"
network_mode: host
volumes:
- data:/app/data/
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/01-Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ slug: /
title: Index
---

# fusion app
# emifuse app

Audio streaming with Liquidsoap 🧼

## 💡 About

`fusion` is a [`Liquidsoap`](https://www.liquidsoap.info)
`emifuse` is a [`Liquidsoap`](https://www.liquidsoap.info)
server that fuses music from playlists and live audio
and sends one output stream to broadcast servers.
26 changes: 13 additions & 13 deletions docs/docs/03-Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,42 @@ title: Configuration

You can configure the app at runtime using various environment variables:

- `FUSION__SERVER__SRT__PORT`
- `EMIFUSE__SERVER__SRT__PORT`
port to listen for SRT connections
(default: `9000`)
- `FUSION__SERVER__HTTP__PORT` -
- `EMIFUSE__SERVER__HTTP__PORT` -
port to listen for HTTP connections
(default: `9001`)
- `FUSION__STATE__STORE__PATH` -
- `EMIFUSE__STATE__STORE__PATH` -
path to the file to store the state
(default: `data/state.json`)
- `FUSION__STATE__CACHE__TTL` -
- `EMIFUSE__STATE__CACHE__TTL` -
how long to cache the state in memory in seconds
(default: `60`)
- `FUSION__EMICAST__ICY__HOST` -
- `EMIFUSE__EMICAST__ICY__HOST` -
host of the ICY API of the emicast service
(default: `localhost`)
- `FUSION__EMICAST__ICY__PORT` -
- `EMIFUSE__EMICAST__ICY__PORT` -
port of the ICY API of the emicast service
(default: `8000`)
- `FUSION__EMICAST__ICY__USER` -
- `EMIFUSE__EMICAST__ICY__USER` -
user to authenticate with the ICY API of the emicast service
(default: `source`)
- `FUSION__EMICAST__ICY__PASSWORD` -
- `EMIFUSE__EMICAST__ICY__PASSWORD` -
password to authenticate with the ICY API of the emicast service
(default: `password`)
- `FUSION__EMICAST__ICY__MOUNT` -
- `EMIFUSE__EMICAST__ICY__MOUNT` -
mount point of the ICY API of the emicast service to send the audio to
(default: `radio.mp3`)
- `FUSION__EMITUNES__HTTP__SCHEME` -
- `EMIFUSE__EMITUNES__HTTP__SCHEME` -
scheme of the HTTP API of the emitunes service
(default: `http`)
- `FUSION__EMITUNES__HTTP__HOST` -
- `EMIFUSE__EMITUNES__HTTP__HOST` -
host of the HTTP API of the emitunes service
(default: `localhost`)
- `FUSION__EMITUNES__HTTP__PORT` -
- `EMIFUSE__EMITUNES__HTTP__PORT` -
port of the HTTP API of the emitunes service
(default: `42000`)
- `FUSION__EMITUNES__HTTP__PATH` -
- `EMIFUSE__EMITUNES__HTTP__PATH` -
path of the HTTP API of the emitunes service
(default: ``)
10 changes: 5 additions & 5 deletions docs/docusaurus.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import type * as Preset from "@docusaurus/preset-classic";
import type { Config } from "@docusaurus/types";
import { themes } from "prism-react-renderer";

const url = new URL("https://radio-aktywne.github.io/app-fusion");
const url = new URL("https://radio-aktywne.github.io/app-emifuse");

const config: Config = {
title: "fusion app docs",
title: "emifusee app docs",
favicon: "favicon.svg?v=1",

url: `${url.protocol}//${url.host}`,
Expand Down Expand Up @@ -41,14 +41,14 @@ const config: Config = {

themeConfig: {
navbar: {
title: "fusion app docs",
title: "emifusee app docs",
logo: {
alt: "fusion app docs logo",
alt: "emifusee app docs logo",
src: "logo.svg?v=1",
},
items: [
{
href: "https://github.com/radio-aktywne/app-fusion",
href: "https://github.com/radio-aktywne/app-emifusee",
position: "right",
className: "header-github-link",
"aria-label": "GitHub repository",
Expand Down
2 changes: 1 addition & 1 deletion openapi/schema.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
info:
title: fusion app
title: emifuse app
description: Audio streaming with Liquidsoap 🧼
openapi: 3.1.0
servers:
Expand Down
10 changes: 5 additions & 5 deletions src/config/emicast/icy.liq
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
let config.emicast.icy = {}

let config.emicast.icy.host =
utils.env.safeget(default="localhost", "FUSION__EMICAST__ICY__HOST")
utils.env.safeget(default="localhost", "EMIFUSE__EMICAST__ICY__HOST")
let config.emicast.icy.port =
utils.parse.int(
utils.env.safeget(default="8000", "FUSION__EMICAST__ICY__PORT")
utils.env.safeget(default="8000", "EMIFUSE__EMICAST__ICY__PORT")
)
let config.emicast.icy.user =
utils.env.safeget(default="source", "FUSION__EMICAST__ICY__USER")
utils.env.safeget(default="source", "EMIFUSE__EMICAST__ICY__USER")
let config.emicast.icy.password =
utils.env.safeget(default="password", "FUSION__EMICAST__ICY__PASSWORD")
utils.env.safeget(default="password", "EMIFUSE__EMICAST__ICY__PASSWORD")
let config.emicast.icy.mount =
utils.env.safeget(default="radio.mp3", "FUSION__EMICAST__ICY__MOUNT")
utils.env.safeget(default="radio.mp3", "EMIFUSE__EMICAST__ICY__MOUNT")
8 changes: 4 additions & 4 deletions src/config/emitunes/http.liq
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
let config.emitunes.http = {}

let config.emitunes.http.scheme =
utils.env.safeget(default="http", "FUSION__EMITUNES__HTTP__SCHEME")
utils.env.safeget(default="http", "EMIFUSE__EMITUNES__HTTP__SCHEME")
let config.emitunes.http.host =
utils.env.safeget(default="localhost", "FUSION__EMITUNES__HTTP__HOST")
utils.env.safeget(default="localhost", "EMIFUSE__EMITUNES__HTTP__HOST")
let config.emitunes.http.port =
utils.parse.oint(
utils.env.safeget(default="42000", "FUSION__EMITUNES__HTTP__PORT")
utils.env.safeget(default="42000", "EMIFUSE__EMITUNES__HTTP__PORT")
)
let config.emitunes.http.path = utils.env.get("FUSION__EMITUNES__HTTP__PATH")
let config.emitunes.http.path = utils.env.get("EMIFUSE__EMITUNES__HTTP__PATH")
let config.emitunes.http.url =
utils.url.build(
scheme=config.emitunes.http.scheme,
Expand Down
2 changes: 1 addition & 1 deletion src/config/server/http.liq
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ let config.server.http = {}

let config.server.http.port =
utils.parse.int(
utils.env.safeget(default="9001", "FUSION__SERVER__HTTP__PORT")
utils.env.safeget(default="9001", "EMIFUSE__SERVER__HTTP__PORT")
)
2 changes: 1 addition & 1 deletion src/config/server/srt.liq
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ let config.server.srt = {}

let config.server.srt.port =
utils.parse.int(
utils.env.safeget(default="9000", "FUSION__SERVER__SRT__PORT")
utils.env.safeget(default="9000", "EMIFUSE__SERVER__SRT__PORT")
)
2 changes: 1 addition & 1 deletion src/config/state/cache.liq
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ let config.state.cache = {}

let config.state.cache.ttl =
utils.parse.float(
utils.env.safeget(default="60", "FUSION__STATE__CACHE__TTL")
utils.env.safeget(default="60", "EMIFUSE__STATE__CACHE__TTL")
)
2 changes: 1 addition & 1 deletion src/config/state/store.liq
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
let config.state.store = {}

let config.state.store.path =
utils.env.safeget(default="data/state.json", "FUSION__STATE__STORE__PATH")
utils.env.safeget(default="data/state.json", "EMIFUSE__STATE__STORE__PATH")