From e5a439c8110b86f1517b0d51974e85a796a44653 Mon Sep 17 00:00:00 2001 From: L4RM4ND <21357789+l4rm4nd@users.noreply.github.com> Date: Tue, 7 Mar 2023 00:16:46 +0100 Subject: [PATCH] add forte --- README.md | 1 + examples/forte/README.md | 9 +++++ examples/forte/docker-compose.yml | 58 +++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 examples/forte/README.md create mode 100644 examples/forte/docker-compose.yml diff --git a/README.md b/README.md index 4d3dec4..48c17dd 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ docker compose up - [Stash](examples/stash) - Stash is a self-hosted webapp written in Go which organizes and serves your porn. - [Raveberry](examples/raveberry) - A multi-user music server with a focus on participation. - [Deemix](examples/deemix) - deemix is a barebone deezer downloader library built from the ashes of Deezloader Remix. +- [Forte](examples/forte) - Self-hosted, music streaming platform. - [MeTube](examples/metube) - Web GUI for youtube-dl (using the yt-dlp fork) with playlist support. Allows you to download videos and audio only from YouTube and dozens of other sites. - [Syncthing](examples/syncthing) - Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. - [Transmission](examples/transmission) - Transmission is a fast, easy, and free BitTorrent client. diff --git a/examples/forte/README.md b/examples/forte/README.md new file mode 100644 index 0000000..11021c5 --- /dev/null +++ b/examples/forte/README.md @@ -0,0 +1,9 @@ +# References + +- https://github.com/kaangiray26/forte + +# Notes + +After deploying, the forte admin dashboard will be available on TCP/3000. You can log into the web dashboard using `forte` as username and `alternative` as password. Please change those default credentials. Use a reverse proxy like Traefik if you plan on exposing the forte instance, as HTTPS is required to stream flawlessly. + +After creating a user account via the forte web dashboard, you can browse https://forte.buzl.uk/ and use your own server to stream music from. Specify your created user account and the automatically created password token. \ No newline at end of file diff --git a/examples/forte/docker-compose.yml b/examples/forte/docker-compose.yml new file mode 100644 index 0000000..522be04 --- /dev/null +++ b/examples/forte/docker-compose.yml @@ -0,0 +1,58 @@ +version: '3' + +services: + app: + image: kaangiray26/forte:2.8 + container_name: forte + restart: on-failure + #ports: + # - "3000:3000" + depends_on: + postgres: + condition: service_healthy + environment: + mode: public + port: 3000 + NODE_ENV: production # Set Node Environment + POSTGRES_HOST: postgres # Postgres Host/IP + POSTGRES_PORT: 5432 # Postgres Database Port + POSTGRES_DB: forte # Set Postgres Database Name + POSTGRES_USER: forte # Set Postgres Username + POSTGRES_PASSWORD: forte # Set Postgres Password + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/forte/library:/library # your music library to import from + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.http.routers.forte.rule=Host(`forte.example.com`) + # - traefik.http.services.forte.loadbalancer.server.port=3000 + # - traefik.docker.network=proxy + # # Part for optional traefik middlewares + # - traefik.http.routers.forte.middlewares=local-ipwhitelist@file + # - traefik.http.middlewares.cors.headers.customResponseHeaders.Access-Control-Allow-Origin=https://forte.buzl.uk + # - traefik.http.middlewares.cors.headers.customFrameOptionsValue=forte.buzl.uk + # - traefik.http.middlewares.cors.headers.customResponseHeaders.Cross-Origin-Resource-Policy=cross-origin + # - traefik.http.routers.forte.middlewares=cors + + postgres: + image: kaangiray26/postgres:2.0 + container_name: forte-db + restart: always + environment: + POSTGRES_DB: forte # Set Postgres Database Name + POSTGRES_USER: forte # Set Postgres Username + POSTGRES_PASSWORD: forte # Set Postgres Password + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/forte/db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD-SHELL", "pg_isready -U forte" ] + interval: 10s + timeout: 5s + retries: 5 + #networks: + # - proxy + +#networks: +# proxy: +# external: true