feat: Dynamica Egg (#1466)

This commit is contained in:
Sebastian Pietschner 2021-12-13 11:55:36 +11:00 committed by GitHub
parent 4e81e68806
commit dc93cedbd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 75 additions and 8 deletions

View File

@ -3,35 +3,37 @@
## General rules
1. Keep it simple.
We don't need 8 miles of install script.
We don't need 8 miles of install script.
2. Keep it Small.
Only use what is absolutely needed.
Only use what is absolutely needed.
3. Try to stay in the stock containers.
If you need something in a container, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where I can review and pull it up to the main repo. In addition, there is a larger quantity of [images here](https://github.com/parkervcp/images) for you to use that have not been migrated to Yolks yet.
If you need something in a container, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where I can review and pull it up to the main repo. In addition, there is a larger quantity of [images here](https://github.com/parkervcp/images) for you to use that have not been migrated to Yolks yet.
4. Don't be afraid to submit PR's to the egg repo.
I don't bite. I will work with you on the egg and the required things to run it.
I don't bite. I will work with you on the egg and the required things to run it.
## Step 1.
#### Be aware of the pterodactyl install process.
The Pterodactyl install process is fairly simple once you know.
1. Spin up install container
This uses a volume mount on /mnt/server for the server files.
This can pull or set up all that is needed to run the server.
It is regularly used to just download the files required. Such as server files and configs.
2. Stop install container
3. Start a new container with the server files in /home/container
This is where the server is actually run.
Any dependencies installed during the install process are gone.
The container that is started should have everything you need.
## Step 2.
#### Testing
Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo.
@ -39,8 +41,8 @@ Make sure your install process is rock solid as I will be testing eggs before th
I will make suggestions and changes at will.
This is to maintain a clean repo that others can pull and be fully aware of what is being done.
## Step 3.
#### Make a branch and do your work in there.
I have been getting messy PR's due to people always PRing from their master branch. Please make a seperate branch and PR from there.

View File

@ -33,6 +33,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [discord.java](bots/discord/discord.java) Java generic
* [discord.js](bots/discord/discord.js) Node JS generic
* [discord.py](bots/discord/discord.py) Python generic
* [Dynamica](/bots/discord/dynamica) Node JS
* [fragbot](/bots/discord/fragbot) Golang
* [JMusicBot](/bots/discord/jmusicbot) Java
* [nodemon.js](bots/discord/nodemon.js) Nodemon JS generic

View File

@ -0,0 +1,5 @@
# Dynamica
### Their [Github](https://github.com/dynamicabot/dynamica)
This is a discord bot for dynamically managing voice channels.

View File

@ -0,0 +1,59 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-12-13T10:34:52+11:00",
"name": "Dynamica",
"author": "sebastian.pietschner@gmail.com",
"description": "The dynamica discord bot",
"features": null,
"images": [
"ghcr.io\/parkervcp\/yolks:nodejs_16"
],
"file_denylist": [],
"startup": "yarn deploy && yarn prisma migrate deploy && yarn start",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Ready! Logged in as \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "apt-get update\r\napt-get install openssl git -y -qq\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/dynamicabot\/dynamica.git .;\r\nfi;\r\nyarn install --frozen-lockfile",
"container": "node:lts-buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Database Path",
"description": "The path in which to create the sqlite database.",
"env_variable": "DATABASE_URL",
"default_value": "file:\/home\/container\/dynamica\/db.sqlite",
"user_viewable": true,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Token",
"description": "The token for the discord bot.",
"env_variable": "TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string"
},
{
"name": "Client ID",
"description": "The client ID of your discord bot.",
"env_variable": "CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|size:18"
}
]
}