Self-Hosting Lanyard
Build the Docker image by cloning this repo and running:
# The latest version is already on the docker hub, you can skip this step unless you would like to run a modified version.
docker build -t phineas/lanyard:latest .
If you don't already have a redis server you'll need to run one, here's the docker command to run one:
docker run -d --name lanyard-redis -v docker_mount_location_on_host:/data redis
And run Lanyard API server using:
docker run --rm -it -p 4001:4001 -e REDIS_HOST=redis -e BOT_TOKEN=<token> --link lanyard-redis:redis phineas/lanyard:latest
You'll be able to access the API using port 4001.
You also need to create a Discord bot and use its token above.
Create a bot here: https://discord.com/developers/applications
Make sure you enable these settings in your bot settings:
- Privileged Gateway Intents > PRESENCE INTENT
- Privileged Gateway Intents > SERVER MEMBERS INTENT
If you'd like to run Lanyard with docker-compose
, here's an example:
version: "3.8"
services:
redis:
image: redis
restart: always
container_name: lanyard_redis
lanyard:
image: phineas/lanyard:latest
restart: always
container_name: lanyard
depends_on:
- redis
ports:
- 4001:4001
environment:
BOT_TOKEN: <token>
REDIS_HOST: redis
Note, that you're hosting a http server, not https. You'll need to use a reverse proxy such as traefik if you want to secure your API endpoint.