Compare commits
	
		
			3 Commits
		
	
	
		
			version-3-
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a071a8d71a | |||
| 77e4ad91ed | |||
| 6ec8613b7f | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -162,3 +162,4 @@ app/run_venv.sh
 | 
			
		||||
# Local History for Visual Studio Code
 | 
			
		||||
.history/
 | 
			
		||||
 | 
			
		||||
/reference config/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							@@ -222,3 +222,16 @@ This should also mean that the sign-up prompts should persist over reboots.
 | 
			
		||||
Other developers for Discord Components recommended the use of dynamic call-backs, however these do not persist after reboots so are not suitable for this purpose.
 | 
			
		||||
Discord will need to make substantial API updates in the future for rolling out the Threads feature.
 | 
			
		||||
The bot will need updating again then.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Remote Deployment to docker server
 | 
			
		||||
 | 
			
		||||
Configure local env to know about the server
 | 
			
		||||
- ` docker context create remote --docker "host=tcp://<hostname>:2376,ca=<full path>/ca.pem,cert=<full path>/cert.pem,key=<full path>/key.pem"`
 | 
			
		||||
- create a folder on the server to use for the config
 | 
			
		||||
- create/amend a docker compose for that env (eg docker-compose-nas)
 | 
			
		||||
- put the config in that folder
 | 
			
		||||
- deploy using that config `docker compose -f docker-compose-nas.yml up -d`
 | 
			
		||||
- hope
 | 
			
		||||
- if its a QNAP nas, manually copy the docker compose file to `/share/CACHEDEV1_DATA/VMs/container-station-data/application/geas-bot` because its stupid 
 | 
			
		||||
- 
 | 
			
		||||
@@ -1,7 +1,10 @@
 | 
			
		||||
FROM python:slim
 | 
			
		||||
COPY . /usr/src/app
 | 
			
		||||
WORKDIR /usr/src/app
 | 
			
		||||
RUN apt-get update -y && apt-get upgrade -y && apt-get install libopus0 -y && \
 | 
			
		||||
	pip install --upgrade pip && pip install -r requirements.txt && \
 | 
			
		||||
	apt-get autoremove -y
 | 
			
		||||
COPY . /app
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
RUN apt-get update -y
 | 
			
		||||
RUN apt-get upgrade -y
 | 
			
		||||
RUN apt-get install libopus0 -y
 | 
			
		||||
RUN pip install --upgrade pip
 | 
			
		||||
RUN pip install -r requirements.txt
 | 
			
		||||
RUN apt-get autoremove -y
 | 
			
		||||
CMD python3 -u ./bot.py
 | 
			
		||||
@@ -25,9 +25,13 @@ def yaml_dump(data:dict, filepath:str):
 | 
			
		||||
		yaml.dump(data, file)
 | 
			
		||||
 | 
			
		||||
# Locate or create config file. Read from environment variables to locate file, and if missing or not valid then use default location.
 | 
			
		||||
configFile = os.getenv('CONFIG') if ((os.getenv('CONFIG').endswith('.yml') or os.getenv('CONFIG').endswith('.yaml')) and not os.getenv('CONFIG').endswith('config_blueprint.yml')) else './data/config.yml'
 | 
			
		||||
configFile = './data/config.yml'
 | 
			
		||||
if os.getenv('CONFIG'):
 | 
			
		||||
	if os.getenv('CONFIG').endswith(('.yml','.yaml')) and not os.getenv('CONFIG').endswith('config_blueprint.yml'):
 | 
			
		||||
		configFile = os.getenv('CONFIG')
 | 
			
		||||
 | 
			
		||||
if not os.path.exists(configFile): yaml_dump({},configFile)
 | 
			
		||||
if not os.path.exists(configFile):
 | 
			
		||||
	yaml_dump({},configFile)
 | 
			
		||||
 | 
			
		||||
# Locate or create data file. Same as above.
 | 
			
		||||
dataFile = os.getenv('DATA') if ((os.getenv('DATA').endswith('.yml') or os.getenv('DATA').endswith('.yaml')) and not os.getenv('DATA').endswith('data_blueprint.yml')) else './data/data.yml'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								docker-compose-nas.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								docker-compose-nas.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
version: '3.5'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  geasbot-app:
 | 
			
		||||
    build: ./app
 | 
			
		||||
    container_name: geas_bot
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /share/Public/geasbot/data:/app/data
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
@@ -3,6 +3,7 @@ version: '3.5'
 | 
			
		||||
services:
 | 
			
		||||
  geasbot-app:
 | 
			
		||||
    build: ./app
 | 
			
		||||
    container_name: geas_bot
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./app:/usr/src/app
 | 
			
		||||
      - ./app:/app
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
		Reference in New Issue
	
	Block a user