Update Deploying Silvanus Yourself
parent
43fece3739
commit
5d55babeab
@ -86,6 +86,51 @@ $ profit
|
|||||||
|
|
||||||
Running Silvanus in a Docker container is preferred when deployed to production use. This will allow for easy restarts if and when the bot crashes due to my lazy code. `--restart unless-stopped` is your friend here.
|
Running Silvanus in a Docker container is preferred when deployed to production use. This will allow for easy restarts if and when the bot crashes due to my lazy code. `--restart unless-stopped` is your friend here.
|
||||||
|
|
||||||
### Secrets
|
### Docker Compose
|
||||||
|
Create a folder to store the `docker-compose.yml` and logs, for example `~/silvanus`:
|
||||||
|
```
|
||||||
|
$ mkdir -p ~/silvanus/logs
|
||||||
|
$ cd ~/silvanus
|
||||||
|
```
|
||||||
|
|
||||||
You'll have to figure this one out, it's the same variable structure as above, but I've never had to pass variables to Docker manually as I use unRAID to host my bots. Alternatively if you're not going to be publishing the docker image, you can use a `.env` file and remove `.env` from the `.dockerignore` file, this will include the variables in the image and Silvanus will load them from the `.env` file. If you also use unRAID send me a DM on Discord and I'll send the template I've built for Silvanus.
|
Create a `docker-compose.yml` based on this template:
|
||||||
|
```
|
||||||
|
~/silvanus $ vim docker-compose.yml
|
||||||
|
```
|
||||||
|
```
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
image: v0idf1sh/silvanus
|
||||||
|
container_name: silvanus
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
TOKEN: "<YOUR_TOKEN_HERE>"
|
||||||
|
BOTID: "<YOUR_BOTS_USER_ID_HERE>"
|
||||||
|
DEBUG: "<true OR false>"
|
||||||
|
DBHOST: "<DATABASE_HOSTNAME_OR_IP>"
|
||||||
|
DBPORT: "<DATABASE_PORT>"
|
||||||
|
DBUSER: "<DATABASE_USERNAME>"
|
||||||
|
DBPASS: "<DATABASE_PASSWORD>"
|
||||||
|
DBNAME: "<DATABASE_NAME>"
|
||||||
|
STATUSCHANNELID: "<CHANNEL_ID>"
|
||||||
|
ownerId: "<YOUR_USER_ID>"
|
||||||
|
HEARTBEAT_URL: "<OPTIONAL_HEARTBEAT_URL_FOR_UPTIME_MONITORING>"
|
||||||
|
volumes:
|
||||||
|
- ./logs:/logs
|
||||||
|
~
|
||||||
|
```
|
||||||
|
Start the container:
|
||||||
|
```
|
||||||
|
~/silvanus $ sudo docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Stop the container:
|
||||||
|
```
|
||||||
|
~/silvanus $ sudo docker-compose stop
|
||||||
|
~/silvanus $ sudo docker-compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
### Logs
|
||||||
|
By default logs are stored in the `logs` folder where your `docker-compose.yml` file is. This can be changed by modifying the `volumes` entry in the Compose file. Unique logs are created on every startup, with a timestamp for a title. Silvanus does not implement any log rotation at the moment, so these may need to be periodically cleared out. Alternatively you could change how log files are generated in the `Dockerfile`.
|
Loading…
Reference in New Issue
Block a user