Merge pull request #110 from parkervcp/bastion-update-2
bastion: move to mongodb6 + python2 -> 3 + set mongodb to use always use the same log file + build for arm64
This commit is contained in:
55
.github/workflows/bot.yml
vendored
55
.github/workflows/bot.yml
vendored
@@ -19,6 +19,7 @@ jobs:
|
||||
- parkertron
|
||||
- red
|
||||
- sinusbot
|
||||
- bastion
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
@@ -55,30 +56,30 @@ jobs:
|
||||
rm -rf /tmp/.buildx-cache
|
||||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
||||
|
||||
pushAmd:
|
||||
name: "yolks:bot_${{ matrix.tag }}"
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
tag:
|
||||
- bastion
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
version: "v0.7.0"
|
||||
buildkitd-flags: --debug
|
||||
- uses: docker/login-action@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
- uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: ./bot/${{ matrix.tag }}
|
||||
file: ./bot/${{ matrix.tag }}/Dockerfile
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: |
|
||||
ghcr.io/parkervcp/yolks:bot_${{ matrix.tag }}
|
||||
# pushAmd:
|
||||
# name: "yolks:bot_${{ matrix.tag }}"
|
||||
# runs-on: ubuntu-latest
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# tag:
|
||||
# - bastion
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - uses: docker/setup-buildx-action@v1
|
||||
# with:
|
||||
# version: "v0.7.0"
|
||||
# buildkitd-flags: --debug
|
||||
# - uses: docker/login-action@v1
|
||||
# with:
|
||||
# registry: ghcr.io
|
||||
# username: ${{ github.repository_owner }}
|
||||
# password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
# - uses: docker/build-push-action@v2
|
||||
# with:
|
||||
# context: ./bot/${{ matrix.tag }}
|
||||
# file: ./bot/${{ matrix.tag }}/Dockerfile
|
||||
# platforms: linux/amd64
|
||||
# push: true
|
||||
# tags: |
|
||||
# ghcr.io/parkervcp/yolks:bot_${{ matrix.tag }}
|
||||
|
@@ -1,14 +1,14 @@
|
||||
FROM --platform=$TARGETOS/$TARGETARCH node:18-bullseye
|
||||
FROM --platform=$TARGETOS/$TARGETARCH mongo:6-focal
|
||||
|
||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||
|
||||
## install mongo
|
||||
RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add - \
|
||||
&& echo "deb http://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list \
|
||||
&& apt update \
|
||||
&& apt install -y mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools \
|
||||
## install nodejs 18
|
||||
RUN apt update && apt install --no-install-recommends -y curl \
|
||||
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
||||
&& apt install -y nodejs \
|
||||
&& npm install -g npm@latest \
|
||||
## install bastion reqs
|
||||
&& apt install -y python build-essential git libtool netcat ffmpeg iproute2 curl tzdata \
|
||||
&& apt install -y python3 build-essential git libtool netcat ffmpeg iproute2 tzdata \
|
||||
## add container user
|
||||
&& useradd -d /home/container -m container -s /bin/bash
|
||||
|
||||
|
@@ -1,4 +1,21 @@
|
||||
#!/bin/bash
|
||||
#Variables
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
clear
|
||||
#show versions
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
echo -e "${YELLOW}BastionBot Installation${NC}"
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
echo -e "${YELLOW}MongoDB Version:${NC} " && mongod --version
|
||||
echo -e "${YELLOW}NodeJS Version:${NC} " && node -v
|
||||
echo -e "${YELLOW}Python Version:${NC} " && python3 --version
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
|
||||
cd /home/container
|
||||
|
||||
# Set environment variable that holds the Internal Docker IP
|
||||
@@ -7,13 +24,19 @@ export INTERNAL_IP
|
||||
|
||||
# Replace Startup Variables
|
||||
MODIFIED_STARTUP=$(echo -e $(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g'))
|
||||
echo -e ":/home/container$ ${MODIFIED_STARTUP}"
|
||||
echo -e "${YELLOW}:/home/container${NC} ${MODIFIED_STARTUP}"
|
||||
|
||||
# start mongo
|
||||
mongod --fork --dbpath /home/container/mongodb/ --port 27017 --logpath /home/container/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
echo -e "${YELLOW}starting MongoDB...${NC}"
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
mongod --fork --dbpath /home/container/mongodb/ --port 27017 --logpath /home/container/mongod.log --logRotate reopen --logappend && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done
|
||||
|
||||
# Run the Server
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
echo -e "${YELLOW}BastionBot starting...${NC}"
|
||||
echo -e "${BLUE}-------------------------------------------------${NC}"
|
||||
eval ${MODIFIED_STARTUP}
|
||||
|
||||
# stop mongo
|
||||
mongo --eval \"db.getSiblingDB('admin').shutdownServer()\
|
||||
mongod --eval "db.adminCommand({ "shutdown" : 1 })"
|
||||
|
Reference in New Issue
Block a user