Commit Graph

14 Commits

Author SHA1 Message Date
murm db9b70bf66 initial update 2023-03-15 10:09:09 -04:00
samhza c00d518f6e
simplify postgres and sqlite database initialization, remove psqlinit.sh (#331)
Before this change, uninitialized databases would be initialized with the old
schema and then migrated to the latest version. After this change, unintialized
databases are initizialized with the latest database schema immediately, without
having to run any of the migrations. This change has no effect on existing
databases.

Before this change, Postgres database initialization was done manually using
utils/psqlinit.sh. This is inconsistent with SQLite, which the bot initializes
itself. It also requires shell access to the server running the Postgres
instance, which means it cannot be used on managed Postgres instances. After
this change, the bot initializes Postgres databases as it does with SQLite, and
utils/psqlinit.sh has been removed as it is now unecessary.
2022-11-26 15:31:00 -06:00
Essem 28c61213f2
Some docker-compose fixes 2022-09-06 16:00:02 -05:00
Essem 81ff5ae0ab
Move config files to new directory 2022-07-26 10:38:42 -05:00
Essem 598c29ab17
Update dockerfile 2022-06-17 19:44:29 -05:00
Essem 95dc02aed5
Docker tweaks 2021-09-13 13:05:22 -05:00
Essem a3b617233a
Fixed docker-compose help doc output, added start/finish logs to command/event loading 2021-09-13 12:54:27 -05:00
TheEssem 2b810c7c86 Re-add image job timeout, split dockerfiles, removed api from docker-compose, more fixes 2021-05-10 22:59:19 -05:00
TheEssem e89ae06646 Removed chrome image remnants 2021-04-13 09:24:07 -05:00
Essem 40223ec8b5
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively

* Sort commands

* Missed a couple of spots

* missed even more spots apparently

* Ported commands in "fun" category to new class-based format, added babel eslint plugin

* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of

* Missed a spot

* Removed unnecessary abort-controller package, add deprecation warning for mongo database

* Added imagereload, clarified premature end message

* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts

* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner

* Converted music/soundboard commands to class format

* Cleanup unnecessary logs

* awful tag command class port

* I literally somehow just learned that you can leave out the constructor in classes

* Pass client directly to commands/events, cleaned up command handler

* Migrated bot to eris-sharder, fixed some error handling stuff

* Remove unused modules

* Fixed type returning

* Switched back to Eris stable

* Some fixes and cleanup

* might wanna correct this

* Implement image command ratelimiting

* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 11:16:12 -05:00
TheEssem 9f300f763a Switch to postgres in docker compose 2021-03-18 11:19:08 -05:00
TheEssem 3730691ba2 Final fixes 2020-12-29 20:33:51 -06:00
TheEssem a1c24ea30d Allow sound player to start even if some nodes are down, docker maintenance 2020-12-11 16:46:05 -06:00
Jake Stanger c6b7e6629c
Add docker-compose file (#27)
* feat: add docker-compose file

* refactor: lower docker-compose version

* feat(docker-compose): add help docs and image dir, fix lavalink

* fix(docker): missing ffmpeg dependency

* fix(docker): compile imagemagick with pango support

This fixes commands such as `meme` causing the bot to crash, since Alpine does not have a pango-enabled version of IM7 in its repos.

* feat(docker): cache npm dependencies

By copying just the `package-(lock).json` and installing dependencies, Docker will cache the deps on subsequent builds.

* fix(docker-compose): need to adjust connection addresses

The MongoDB and Chrome addresses are automatically passed through with the correct value. A separate `servers.json` file specifically for docker-compose is used with the correct container addresses.

Each container has a static ip - this is due to an unfortunate limitation of the Chrome remote debugger, which needs either an IP or `localhost`, and refuses connections to a hostname.

* refactor(docker): do not include servers.json for compose

Compose will use the normal `servers.json` and users will have to change the hostnames to `lavalink` and `api` respectively.
2020-12-07 20:40:17 -06:00