mirror of
https://github.com/Haxxnet/Compose-Examples
synced 2025-02-24 00:48:43 +00:00
Compare commits
14 Commits
4263768d23
...
5d609b451c
Author | SHA1 | Date | |
---|---|---|---|
|
5d609b451c | ||
|
afb0365e07 | ||
|
96906877d2 | ||
|
5aa0d5fed6 | ||
|
0fb53bbb04 | ||
|
9dcd05961f | ||
|
0aa752cab6 | ||
|
46311a53a5 | ||
|
e5a439c811 | ||
|
0b246eace3 | ||
|
efd2d6a3bd | ||
|
72c612035a | ||
|
2ffaf15e99 | ||
|
3330f3499b |
@ -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.
|
- [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.
|
- [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.
|
- [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.
|
- [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.
|
- [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.
|
- [Transmission](examples/transmission) - Transmission is a fast, easy, and free BitTorrent client.
|
||||||
|
9
examples/forte/README.md
Normal file
9
examples/forte/README.md
Normal file
@ -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.
|
56
examples/forte/docker-compose.yml
Normal file
56
examples/forte/docker-compose.yml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
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
|
||||||
|
# - 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,local-ipwhitelist@file
|
||||||
|
|
||||||
|
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
|
@ -3,68 +3,72 @@
|
|||||||
# -------
|
# -------
|
||||||
|
|
||||||
# Enable self-signed certs (app/ssl)
|
# Enable self-signed certs (app/ssl)
|
||||||
|
|
||||||
HTTPS=false
|
HTTPS=false
|
||||||
|
|
||||||
# Domain
|
# Domain
|
||||||
|
HOST=localhost
|
||||||
HOST=localhost
|
|
||||||
|
# enable the following to protect mirotalk with an additional login screen
|
||||||
# Signaling Server listen port
|
HOST_PROTECTED=false
|
||||||
|
HOST_USERNAME=username
|
||||||
PORT=3000
|
HOST_PASSWORD=password
|
||||||
|
|
||||||
# Ngrok
|
# Signaling Server listen port
|
||||||
# 1. Goto https://ngrok.com
|
|
||||||
# 2. Get started for free
|
PORT=3000
|
||||||
# 3. Copy YourNgrokAuthToken: https://dashboard.ngrok.com/get-started/your-authtoken
|
|
||||||
|
# Ngrok
|
||||||
NGROK_ENABLED=false # or true
|
# 1. Goto https://ngrok.com
|
||||||
NGROK_AUTH_TOKEN=YourNgrokAuthToken
|
# 2. Get started for free
|
||||||
|
# 3. Copy YourNgrokAuthToken: https://dashboard.ngrok.com/get-started/your-authtoken
|
||||||
# Stun
|
|
||||||
# Check: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
|
NGROK_ENABLED=false # or true
|
||||||
|
NGROK_AUTH_TOKEN=YourNgrokAuthToken
|
||||||
STUN=stun:stun.l.google.com:19302
|
|
||||||
|
# Stun
|
||||||
# Turn
|
# Check: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
|
||||||
# Recommended: https://github.com/coturn/coturn
|
|
||||||
# Check: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
|
STUN=stun:stun.l.google.com:19302
|
||||||
|
|
||||||
TURN_ENABLED=false # or true
|
# Turn
|
||||||
TURN_URLS=turn:YourTurnServer
|
# Recommended: https://github.com/coturn/coturn
|
||||||
TURN_USERNAME=YourTurnUsername
|
# Check: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
|
||||||
TURN_PASSWORD=YourTurnPassword
|
|
||||||
|
TURN_ENABLED=false # or true
|
||||||
# API
|
TURN_URLS=turn:YourTurnServer
|
||||||
# The response will give you a entrypoint / Room URL for your meeting.
|
TURN_USERNAME=YourTurnUsername
|
||||||
# curl -X POST "http://localhost:3000/api/v1/meeting" -H "authorization: mirotalk_default_secret" -H "Content-Type: application/json"
|
TURN_PASSWORD=YourTurnPassword
|
||||||
|
|
||||||
API_KEY_SECRET=8jBEI8KVKj2cadd3Fy3ayu6Fwacg8+NjCiMjmINac # pls change
|
# API
|
||||||
|
# The response will give you a entrypoint / Room URL for your meeting.
|
||||||
# Survey URL
|
# curl -X POST "http://localhost:3000/api/v1/meeting" -H "authorization: mirotalk_default_secret" -H "Content-Type: application/json"
|
||||||
# Using to redirect the client after close the call (feedbacks, website...)
|
|
||||||
|
API_KEY_SECRET=8jBEI8KVKj2cadd3Fy3ayu6Fwacg8+NjCiMjmINac # pls change
|
||||||
SURVEY_ENABLED=false # or true
|
|
||||||
SURVEY_URL=https://www.questionpro.com/t/AUs7VZq00L
|
# Survey URL
|
||||||
|
# Using to redirect the client after close the call (feedbacks, website...)
|
||||||
# Sentry (optional)
|
|
||||||
# 1. Goto https://sentry.io/
|
SURVEY_ENABLED=false # or true
|
||||||
# 2. Create account
|
SURVEY_URL=https://www.questionpro.com/t/AUs7VZq00L
|
||||||
# 3. Goto Settings/Projects/YourProjectName/Client Keys (DSN)
|
|
||||||
|
# Sentry (optional)
|
||||||
SENTRY_ENABLED=false # or true
|
# 1. Goto https://sentry.io/
|
||||||
SENTRY_DSN=YourClientKeyDSN
|
# 2. Create account
|
||||||
SENTRY_TRACES_SAMPLE_RATE=1.0
|
# 3. Goto Settings/Projects/YourProjectName/Client Keys (DSN)
|
||||||
|
|
||||||
# Slack Integration (optional)
|
SENTRY_ENABLED=false # or true
|
||||||
# 1. Goto https://api.slack.com/apps/
|
SENTRY_DSN=YourClientKeyDSN
|
||||||
# 2. Create your app
|
SENTRY_TRACES_SAMPLE_RATE=1.0
|
||||||
# 3. On Settings - Basic Information - App Credentials chose your Signing Secret
|
|
||||||
# 4. Create a Slash Commands and put as Request URL: https://your.domain.name/slack
|
# Slack Integration (optional)
|
||||||
|
# 1. Goto https://api.slack.com/apps/
|
||||||
SLACK_ENABLED=false # or true
|
# 2. Create your app
|
||||||
SLACK_SIGNING_SECRET=YourSlackSigningSecret
|
# 3. On Settings - Basic Information - App Credentials chose your Signing Secret
|
||||||
|
# 4. Create a Slash Commands and put as Request URL: https://your.domain.name/slack
|
||||||
# Auto deploy on Railway
|
|
||||||
# https://railway.app/new/template/mirotalk?referralCode=mirotalk
|
SLACK_ENABLED=false # or true
|
||||||
|
SLACK_SIGNING_SECRET=YourSlackSigningSecret
|
||||||
|
|
||||||
|
# Auto deploy on Railway
|
||||||
|
# https://railway.app/new/template/mirotalk?referralCode=mirotalk
|
||||||
|
@ -5,4 +5,4 @@
|
|||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
|
||||||
Disable open user registration after setting up your account. This can be done via the `/admin` web panel, if enabled, or by adjusting the `config.json` file.
|
Disable open user registration after setting up your account. This can be done via the `/admin` web panel, if enabled, or by adjusting the `config.json` file. Alternatively via environment variables. See documentation [here](https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users).
|
||||||
|
@ -10,13 +10,15 @@ services:
|
|||||||
- 1.1.1.1
|
- 1.1.1.1
|
||||||
environment:
|
environment:
|
||||||
#- ADMIN_TOKEN=MySecureAdminTokenPasswordForAdminArea
|
#- ADMIN_TOKEN=MySecureAdminTokenPasswordForAdminArea
|
||||||
|
#- SIGNUPS_ALLOWED=false
|
||||||
|
#- SIGNUPS_VERIFY=true
|
||||||
|
#- INVITATIONS_ALLOWED=true # only admins and orga owners
|
||||||
#- globalSettings__mail__replyToEmail=bitwarden@example.com
|
#- globalSettings__mail__replyToEmail=bitwarden@example.com
|
||||||
#- globalSettings__mail__smtp__host=smtp.gmail.com
|
#- globalSettings__mail__smtp__host=smtp.gmail.com
|
||||||
#- globalSettings__mail__smtp__username=bitwarden@example.com
|
#- globalSettings__mail__smtp__username=bitwarden@example.com
|
||||||
#- globalSettings__mail__smtp__password=MyStrongSmtpLoginPassword
|
#- globalSettings__mail__smtp__password=MyStrongSmtpLoginPassword
|
||||||
#- globalSettings__mail__smtp__ssl=true
|
#- globalSettings__mail__smtp__ssl=true
|
||||||
#- globalSettings__mail__smtp__port=587
|
#- globalSettings__mail__smtp__port=587
|
||||||
- globalSettings__disableUserRegistration=true
|
|
||||||
- LOG_FILE=/data/logs/access.log
|
- LOG_FILE=/data/logs/access.log
|
||||||
- WEBSOCKET_ENABLED=true
|
- WEBSOCKET_ENABLED=true
|
||||||
- ROCKET_ENV=prod
|
- ROCKET_ENV=prod
|
||||||
@ -38,6 +40,10 @@ services:
|
|||||||
# - traefik.http.routers.vaultwarden-ws.rule=Host(`bitwarden.example.com`) && Path(`/notifications/hub`)
|
# - traefik.http.routers.vaultwarden-ws.rule=Host(`bitwarden.example.com`) && Path(`/notifications/hub`)
|
||||||
# - traefik.http.routers.vaultwarden-ws.service=vaultwarden-ws
|
# - traefik.http.routers.vaultwarden-ws.service=vaultwarden-ws
|
||||||
# - traefik.http.services.vaultwarden-ws.loadbalancer.server.port=3012
|
# - traefik.http.services.vaultwarden-ws.loadbalancer.server.port=3012
|
||||||
|
# - traefik.http.routers.vaultwarden-admin.rule=Host(`bitwarden.example.com`) && Path(`/admin`)
|
||||||
|
# - traefik.http.routers.vaultwarden-admin.service=vaultwarden
|
||||||
|
# - traefik.http.services.vaultwarden-admin.loadbalancer.server.port=80
|
||||||
|
# - traefik.http.routers.vaultwarden-admin.middlewares=local-ipwhitelist@file,authelia@file
|
||||||
volumes:
|
volumes:
|
||||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/data:/data
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/data:/data
|
||||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/logs:/data/logs
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/logs:/data/logs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user