Code Monkey home page Code Monkey logo

heroku-lavalink's Introduction

heroku-lavalink

Easily deploy a lavalink server on heroku. This approach is minimal, but reliable. This branch will automatically download the latest Lavalink jar file.

  • heroku-lavalink will now download the latest Lavalink.jar automatically & directly from GitHub

To update your Lavalink.jar, restart all dynos.

  • heroku-lavalink can now visit itself every 20 minutes (instead of uptimerobot)

set APP_NAME in config vars to your heroku application's name to enable, you only need this for the free tier

Your lavalink server will be available over port 80 and 443(HTTPS/SSL) at your heroku app website (APP_NAME.herokuapp.com)

I will not provide support in issues for external libraries.

Config Var Description Default
PASS The password you will use to authenticate http requests. Change this to whatever you want it to be. youshallnotpass
APP_NAME Set this to your heroku application's name. This will allow the project to visit itself and prevent it from sleeping. blank
PRERELEASES Whether to download lavalink prereleases. false
GITHUB_REPO The github repo to fetch releases from. freyacodes/Lavalink
JAVA_TOOL_OPTIONS This sets the ram to max. Don't edit this variable unless you know what you're doing. -Xmx400m -Xms400m -XX:MaxPermSize=48m

One Click Deploy:

Deploy <-- Click me!

Buildpacks should be added automatically, you may modify the PASS variable during setup to change the password.

Github Deploy:

  1. Create a fork of this repo
  2. Navigate to your heroku project @dashboard.heroku.com
  3. Navigate to your project "Settings", click "Reaveal Config Vars", and create a new var called PASS and set it to what you want your lavalink password to be.
  4. In the same menu, create a new var called JAVA_TOOL_OPTIONS and set it to -Xmx400m -Xms400m -XX:MaxPermSize=48m. You may also set other config vars here.
  5. In the same menu, create a var called APP_NAME and set it to your heroku applications name.
  6. Navigate to the "Deploy" tab
  7. Find/Click the "Connect to GitHub" section and login if needed
  8. For the repo name, type "heroku-lavalink" and Click "Search"
  9. Click "Connect"
  10. Scroll down and find "Manual Deploy", then switch the branch to auto and "Deploy Branch".

Heroku CLI Deploy:

  1. Download files (Clone or download->Download ZIP).
  2. Extract files into an empty directory.
  3. Follow https://devcenter.heroku.com/articles/git. If heroku is unable to automatically configure buildpacks, go to your projects settings on the heroku website and add java and nodejs.
  4. Go to your project settings->config vars on heroku and set a new var called PASS to what you want your lavalink password to be.
  5. In the same menu, create a new var called JAVA_TOOL_OPTIONS and set it to -Xmx400m -Xms400m -XX:MaxPermSize=48m. You may also set other config vars here.
  6. In the same menu, create a var called APP_NAME and set it to your heroku applications name.

Notes:

  1. After changing PASS you must redeploy or click the More menu and restart all dynos.
  2. If heroku is unable to automatically configure buildpacks, go to your projects settings on the heroku website and add java and nodejs.

Please understand your lavalink server will likely run out of memory on a free dyno. I would recommend upgrading or switching to a lighter alternative. If you do upgrade, you must change -Xmx in the JAVA_TOOL_OPTIONS to your new amount of ram.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.