• Stars
    star
    777
  • Rank 58,500 (Top 2 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The internal workings for the Eternal Jukebox, a rehosting of the Infinite Jukebox

EternalJukebox

The source files for the EternalJukebox, a rehosting of the Infinite Jukebox.
This repo contains everything you need to host the EternalJukebox on your own server!

You can visit the official site here, in case you want to mess around with it without doing all the hard stuff.

Docker Install

Prerequesits

You need to install docker and docker-compose

Then, download or clone the repository.

Configuration

To configure, rename .env.example to .env and change the appropriate values. For advanced configuration edit envvar_config.yaml.

Running

To start, run docker-compose up -d in the repositories directory. To stop, run docker-compose down.

If you change anything in the repository, like pulling updates, run docker-compose build to re-build the application.

If you want to change the port from 8080, edit docker-compose.yml line 9, to be - <your port>:8080

Manual Install

Prerequisites

Java:

Windows

Download and install Java from https://www.java.com/en/download/

Debian-based Linux distributions

For Ubuntu or Debian-based distributions execute sudo apt-get install default-jre in the terminal

Fedora and CentOS

There is a tutorial for installing java on Fedora and CentOS at https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedora

Yt-dlp (a more up-to-date fork of Youtube-dl):

Windows

Download the .exe at https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe and place it in C:\Windows\, or in another folder on the PATH.

Linux

Use these commands in the terminal to install youtube-dl on Linux:
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

ffmpeg:

Windows

Download the exe from https://ffmpeg.zeranoe.com/builds/ and place it in C:\Windows\, or in another folder on teh PATH.

Linux

ffmpeg is available to download in most distributions using sudo apt-get install ffmpeg or equivalent

Getting the project files:

The whole process of obtaining project files is much easier now, as the build process is streamlined through Jenkins.

The project site is over here, and contains the individual files to download, or an all-in-one zip for all the files. Alternatively, the files can be found over at a permanent server here

Configuring

First thing to do is create a new file called either config.yaml or config.json (YAML tends to be easier to write, but takes up slightly more space), then open it with notepad/notepad++ on Windows and whatever text editor you like on Linux (for example nano: nano config.json)

Now you should go to https://developer.spotify.com/my-applications/ and log in to your spotify account.
Then click the "Create an app" button and a new page should popup.
There give it a name and description and click create.
It should send you to the new app's page, the only thing you need from here is your Client ID and Client Secret
(Note: Never share these with anyone!)

You will also need a Youtube Data API key, which you can find about how to obtain here.

There are a variety of config options (documentation coming soon) that allow most portions of the EternalJukebox to be configured, and these can be entered here.

Starting the server:

First you need to open the Terminal or Command Prompt.
Then make sure its running in the folder that your EternalJukebox.jar is in, once again to do this use the cd command.
Then execute the jar with java -jar EternalJukebox.jar

If everything went right it should say Listening at http://0.0.0.0:11037

you should now be able to connect to it with a browser through http://localhost:11037

Congrats you did it!

Manually Building

This is not recommended unless you're making some modifications, and as such should only be performed by more advanced users

You'll need to obtain a copy of Gradle, likely a JDK, and Jekyll. You'll also need the project files in some capacity, be it git clone or downloading the archive from GitHub.

From there, building in Gradle is simple; just run gradle clean shadowJar from the project file directory. That should produce a jar file in build/libs that will work for you. In addition, you'll need to build the Jekyll webpages, which can be done by running jekyll build --source _web --destination web

More Repositories

1

MagicAuth

A TOTP authentication app for Android
Kotlin
3
star
2

TiM

Tinker's Modifiers
Java
3
star
3

OSXNotifier

A private Mac OS X notification server, allowing other applications to show notifications in languages other than Obj-C or Swift
Objective-C
3
star
4

kornea-blaseball

Api wrapper for Blaseball
Kotlin
3
star
5

Fidelis

Fidelis (Latin for Loyal) is a mod that adds a 'Loyalty' modifier to anything, and can be applied with different files as defined in the config file
Java
3
star
6

SpiralFormats

Core SPIRAL formats
Kotlin
2
star
7

cors-mechanics

The CORS is down
Kotlin
2
star
8

Minegate

Source code for Minegate
Java
2
star
9

kornea

A set of libraries for use in Kotlin MPP projects
Kotlin
1
star
10

Praise-Be-To-Pharaoh

'Praise Be To Pharaoh' is a basic version of Glory to Rome designed to allow for the core mechanics to be reused without infringing copyright or IP (hopefully)
Java
1
star
11

Karnage

Image reading library for Kotlin
Kotlin
1
star
12

Revelation

“Who is worthy to break the seals and open the scroll?”
Kotlin
1
star
13

Visi

Couple of small utilities for Kotlin
Kotlin
1
star
14

finally

THE MIRROR DOUBLES / DIVIDES / ADVANCING EVENTS / SPINNING FILTERS / END OVER END
Kotlin
1
star
15

Magneson

An image based esoteric language written in Kotlin
Kotlin
1
star
16

usa

Was our trust in you misplaced?
HTML
1
star
17

XivExChat

Extended chat log
C#
1
star
18

KJukebox

A kotlin library containing the necessary functions and objects for the Eternal Jukebox API, as well as linking branches together
Kotlin
1
star
19

NiceAndSnug

It's compressed all the way down
Kotlin
1
star
20

ktornea-spotify

A Kotlin Multiplatform library for working with the Spotify API
Kotlin
1
star
21

JPokemon

A simple Java wrapper for Pokemon
Java
1
star
22

JDiscordGameSDK

A wrapper for the Discord Game SDK, written in Java using JNA and JNAerator
Java
1
star
23

OpenSpiralViewer

Previewer for Danganronpa scripts
Kotlin
1
star
24

Danganronpa-Resources

Website, Code, and tags for https://dr.abimon.org
HTML
1
star
25

DIG

DIG (Delegation of Interesting proGrams) is an esoteric programming language that uses images rather than code to compile. This language is a second route language, it first compiles to a language (Such as Python/Java) and then executes it.
Java
1
star