Merge pull request #212 from veganhacktivists/coolify

Coolify support
This commit is contained in:
Anthony Berg 2025-01-15 15:25:03 +01:00 committed by GitHub
commit fc8c12b346
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 26 additions and 8 deletions

View File

@ -3,15 +3,18 @@ DISCORD_TOKEN= # Bot token from: https://discord.com/developers/
# Configuration
DEFAULT_PREFIX= # Prefix used to run commands in Discord
DEVELOPMENT= # (true/false) Enables developer mode
DEVELOPMENT= # (true/false) Enables developer mode
# Docker
POSTGRES_USER=USERNAME
POSTGRES_PASSWORD=PASSWORD
POSTGRES_DB=DB
# Redis
REDIS_URL= # URL to redis database (if running everything within docker compose, use "redis")
# Redis (if running everything within docker compose, use "redis" for the host and leave the rest empty)
REDIS_HOST= # URL to redis database
REDIS_USER= # redis database user
REDIS_PASSWORD= # redis database password
REDIS_PORT= # redis database port
# Database URL (designed for Postgres, but designed on Prisma)
DATABASE_URL= # "postgresql://USERNAME:PASSWORD@postgres:5432/DB?schema=ara&sslmode=prefer"

5
nixpacks.toml Normal file
View File

@ -0,0 +1,5 @@
[phases.build]
cmds = ["pnpm prisma generate", "..."]
[start]
cmd = 'pnpm run start:migrate'

View File

@ -33,7 +33,6 @@
"node": ">=20",
"pnpm": ">=9"
},
"packageManager": "pnpm@9.6.0",
"dependencies": {
"@prisma/client": "^5.18.0",
"@sapphire/discord.js-utilities": "^7.3.0",
@ -59,5 +58,6 @@
"eslint-config-prettier": "^9.1.0",
"prettier": "3.2.4",
"prisma": "^5.18.0"
}
},
"packageManager": "pnpm@9.12.2+sha512.22721b3a11f81661ae1ec68ce1a7b879425a1ca5b991c975b074ac220b187ce56c708fe5db69f4c962c989452eee76c82877f4ee80f474cebd61ee13461b6228"
}

View File

@ -27,6 +27,10 @@ import '@sapphire/plugin-logger/register';
import { PrismaClient } from '@prisma/client';
import { Redis } from 'ioredis';
const REDIS_PORT = process.env.REDIS_PORT
? parseInt(process.env.REDIS_PORT)
: undefined;
// Setting up the Sapphire client
const client = new SapphireClient({
defaultPrefix: process.env.DEFAULT_PREFIX,
@ -49,7 +53,10 @@ const client = new SapphireClient({
tasks: {
bull: {
connection: {
host: process.env.REDIS_URL,
host: process.env.REDIS_HOST,
username: process.env.REDIS_USER,
password: process.env.REDIS_PASSWORD,
port: REDIS_PORT,
},
},
},
@ -62,9 +69,12 @@ const main = async () => {
client.logger.info('Logging in');
// Create databases
container.database = await new PrismaClient();
container.database = new PrismaClient();
container.redis = new Redis({
host: process.env.REDIS_URL,
host: process.env.REDIS_HOST,
username: process.env.REDIS_USER,
password: process.env.REDIS_PASSWORD,
port: REDIS_PORT,
db: 1,
});