CI
Status Cakupan
Panduan Gaya Ruby
Tarikan Docker

Tangkapan layar

Black Candy adalah server streaming musik yang dihosting sendiri, pusat musik pribadi Anda.

Silakan kunjungi dan gunakan pengguna demo (email: [email protected], kata sandi: foobar) untuk masuk. Dan jangan ragu untuk mencobanya.

Catatan

Pengguna demo ini tidak memiliki hak administrator. Jadi Anda tidak bisa merasakan semua fitur di Black Candy. Dan semua musik dalam demo berasal dari Arsip Musik Gratis. Anda dapat memeriksa lisensi mereka.

Black Candy menggunakan gambar buruh pelabuhan untuk menginstal dengan mudah. Anda dapat menjalankan Black Candy seperti ini.

docker run -p 3000:3000 ghcr.io/blackcandy-org/blackcandy:latest 

# Or pull from Docker Hub.
docker run -p 3000:3000 blackcandy/blackcandy:latest 

Itu saja. Sekarang, Anda dapat mengakses keduanya atau di browser, dan gunakan pengguna admin awal untuk login (email: [email protected], kata sandi: foobar).

Penting

Jika Anda meningkatkan ke versi utama, Anda perlu membaca panduan peningkatan dengan cermat sebelum melakukan peningkatan. Karena ada beberapa perubahan yang mengganggu pada versi mayor.

  • Lihat Peningkatan V3 untuk peningkatan dari rilis V2.
  • Lihat Edge Upgrade untuk peningkatan dari rilis edge ke rilis stabil terbaru.

Tingkatkan Black Candy dengan menarik gambar baru dari jarak jauh. Kemudian keluarkan wadah lama dan buat wadah baru.

docker pull ghcr.io/blackcandy-org/blackcandy:latest
docker stop <your_blackcandy_container>
docker rm <your_blackcandy_container>
docker run <OPTIONS> ghcr.io/blackcandy-org/blackcandy:latest 

Dengan docker composer, Anda dapat mengupgrade Black Candy seperti ini:

docker pull ghcr.io/blackcandy-org/blackcandy:latest
docker-compose down
docker-compose up

Aplikasi seluler Black Candy tersedia di toko aplikasi berikut:

Dapatkan di App Store
Dapatkan di F-Droid

Untuk aplikasi Android, Anda juga dapat mengunduh APK dari GitHub Release

Black Candy mengekspor 3000 port. Jika Anda ingin dapat mengaksesnya dari host, Anda dapat menggunakan -p pilihan untuk memetakan port.

docker run -p 3000:3000 ghcr.io/blackcandy-org/blackcandy:latest

Anda dapat memasang file media dari host ke container dan menggunakannya MEDIA_PATH variabel lingkungan untuk mengatur jalur media untuk permen hitam.

docker run -v /media_data:/media_data -e MEDIA_PATH=/media_data ghcr.io/blackcandy-org/blackcandy:latest   

Gunakan PostgreSQL Sebagai Basis Data

Black Candy menggunakan SQLite sebagai database secara default. Karena SQLite dapat menyederhanakan proses instalasi, dan merupakan pilihan ideal untuk server kecil yang dihosting sendiri. Jika menurut Anda SQLite saja tidak cukup, atau Anda menggunakan layanan cloud seperti heroku untuk menghosting Black Candy, Anda juga dapat menggunakan PostgreSQL sebagai database.

docker run -e DB_ADAPTER=postgresql -e DB_URL=postgresql://yourdatabaseurl ghcr.io/blackcandy-org/blackcandy:latest 

Semua data yang perlu disimpan di Black Candy disimpan di /app/storageJadi Anda dapat memasang direktori ini ke host untuk menyimpan data.

mkdir storage_data

docker run -v ./storage_data:/app/storage ghcr.io/blackcandy-org/blackcandy:latest 

Black Candy mendukung penggunaan Nginx untuk mengirimkan file audio ke klien. Ini cara yang lebih efektif daripada yang ditangani oleh backend Black Candy. Dan image buruh pelabuhan Black Candy juga siap untuk nginx-proxy, yang berarti Anda dapat mengatur proxy Nginx untuk Black Candy dengan mudah.

Anda dapat menggunakan docker-compose untuk menyiapkan layanan tersebut. File docker-compose.yml terlihat seperti ini:

version: '3'

services:
  nginx-proxy:
    image: nginxproxy/nginx-proxy
    ports:
      - "80:80"
    volumes:
      - ./blackcandy.local:/etc/nginx/vhost.d/blackcandy.local:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /media_data:/media_data # Keep the path of media files in container the same as blackcandy container.

  app:
    image: ghcr.io/blackcandy-org/blackcandy:latest 
    volumes:
      - ./storage_data:/app/storage
      - /media_data:/media_data
    environment:
      VIRTUAL_HOST: blackcandy.local
      MEDIA_PATH: /media_data
      NGINX_SENDFILE: "true" # Don't forget to set `NGINX_SENDFILE` environment variable to true to enable nginx sendfile.
# Get the default sendfile config for blackcandy. This file need to mount to nginx proxy container to add custom configuration for nginx.
curl  > blackcandy.local

docker-compose up

Black Candy masuk ke STDOUT secara default. Jadi jika ingin mengontrol log, Docker sudah mendukung banyak opsi untuk menangani log di container. Melihat: https://docs.docker.com/config/containers/logging/configure/.

Nama Bawaan Keterangan
DB_URL URL basis data PostgreSQL. Anda harus mengatur variabel lingkungan ini jika Anda menggunakan PostgreSQL sebagai database.
MEDIA_PATH Anda dapat menggunakan variabel lingkungan ini untuk mengatur jalur media untuk Black Candy, jika tidak, Anda dapat mengatur jalur media di halaman pengaturan.
DB_ADAPTER “sqlite” Ada dua adaptor yang didukung, “sqlite” dan “postgresql”.
NGINX_SENDFILE PALSU Apakah mengaktifkan Nginx sendfile.
RAHASIA_KEY_BASE Ketika variabel lingkungan SECRET_KEY_BASE tidak disetel, Black Candy akan menghasilkan variabel lingkungan SECRET_KEY_BASE setiap kali layanan dimulai. Ini akan menyebabkan sesi lama tidak valid, Anda dapat mengatur variabel lingkungan SECRET_KEY_BASE Anda sendiri pada layanan buruh pelabuhan untuk menghindarinya.
KEKUATAN_SSL PALSU Paksa semua akses ke aplikasi melalui SSL.
DEMO_MODE PALSU Apakah akan mengaktifkan mode demo, ketika mode demo aktif, semua pengguna tidak dapat mengakses hak istimewa administrator, bahkan pengguna adalah admin. Dan juga pengguna tidak dapat mengubah profilnya.

Versi edge Black Candy didasarkan pada cabang master, yang berarti tidak stabil, Anda mungkin mengalami kehilangan data atau masalah lainnya. Namun, saya tidak menyarankan pengguna biasa menggunakan versi Edge. Namun jika Anda seorang developer yang ingin menguji atau berkontribusi pada Black Candy, Anda bisa menggunakan versi edge.

docker pull ghcr.io/blackcandy-org/blackcandy:edge
  • rubi 3.3
  • Node.js 20
  • libvips
  • FFmpeg

Pastikan Anda telah menginstal semua dependensi tersebut.

Instal dependensi JavaScript

rails db:prepare
rails db:seed

Setelah Anda mengatur semuanya, sekarang Anda dapat menjalankannya ./bin/dev untuk memulai semua layanan yang perlu Anda kembangkan. Kemudian kunjungi gunakan pengguna admin awal untuk login (email: [email protected], kata sandi: foobar).

# Running all test
$ rails test:all 

# Running lint
$ rails lint:all

Dukungan Black Candy mendapatkan artis dan gambar album dari Discogs API. Anda dapat membuat token API dari Discogs dan mengatur token Discogs di halaman Pengaturan untuk mengaktifkannya.

Proyek ini didukung oleh:


Sumber

Krystian Wiśniewski
Krystian Wiśniewski is a dedicated Sports Reporter and Editor with a degree in Sports Journalism from He graduated with a degree in Journalism from the University of Warsaw. Bringing over 14 years of international reporting experience, Krystian has covered major sports events across Europe, Asia, and the United States of America. Known for his dynamic storytelling and in-depth analysis, he is passionate about capturing the excitement of sports for global audiences and currently leads sports coverage and editorial projects at Agen BRILink dan BRI.