
Deploy Yagpdb on Your Own Server
Yet another general purpose discord bot
Want to deploy Yagpdb on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Yagpdb?
Yet another general purpose discord bot. This is the best opensource discord bot ever made!
Self-Host Yagpdb
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
yagpdb:
environment:
YAGPDB_BOTTOKEN: Bot Insert bot token here
YAGPDB_CLIENTID: Insert bot OAuth2 client id here
YAGPDB_CLIENTSECRET: Insert bot OAuth2 client secret here
YAGPDB_HOST: yagpdb.your-domain.com
YAGPDB_OWNER: Insert your server owner id here
YAGPDB_PQDB: yagpdb_production
YAGPDB_PQHOST: yagpdb-postgres
YAGPDB_PQPASSWORD: 752e78c02610
YAGPDB_PQUSERNAME: yagpdb
YAGPDB_REDIS: yagpdb-redis:6379
volumes:
- yagpdb-soundboard:/app/soundboard
depends_on:
- yagpdb-redis
- yagpdb-postgres
yagpdb-postgres:
image: postgres:12-alpine
environment:
POSTGRES_DB: yagpdb_production
POSTGRES_PASSWORD: 752e78c02610
POSTGRES_USER: yagpdb
volumes:
- yagpdb-db-data:/var/lib/postgresql/data
yagpdb-redis:
image: redis:6.2.5-alpine
volumes:
- yagpdb-redis-data:/data
volumes:
yagpdb-soundboard: {}
yagpdb-db-data: {}
yagpdb-redis-data: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:80
Why Self-Host Yagpdb?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"