diff options
author | Parker <contact@pkrm.dev> | 2024-11-15 21:20:29 -0600 |
---|---|---|
committer | Parker <contact@pkrm.dev> | 2024-11-15 21:20:29 -0600 |
commit | 1b1601e4c449254b114522b3c49ab4b126f89cc8 (patch) | |
tree | 60dcc2af04ae6e871a30042fb89401e70af11150 | |
parent | 4cfc800f8c38eafc54ce35155469d361ee07d8f7 (diff) |
Update config and work on shell/docker
-rw-r--r-- | Dockerfile | 3 | ||||
-rw-r--r-- | config.py | 7 | ||||
-rwxr-xr-x | dev.sh | 20 | ||||
-rw-r--r-- | linklogger.py | 4 | ||||
-rw-r--r-- | linklogger.sh | 6 |
5 files changed, 34 insertions, 6 deletions
@@ -12,6 +12,7 @@ LABEL maintainer="parker <mailto:contact@pkrm.dev>" WORKDIR / COPY . . +RUN chmod +x linklogger.sh RUN pip install -r requirements.txt RUN apt-get update && apt-get install -y nginx && \ @@ -22,4 +23,4 @@ COPY --from=build-ui /app/dist /usr/share/nginx/html # Replace the default site with the LinkLogger config COPY nginx.conf /etc/nginx/sites-enabled/default -CMD service nginx start && python -u linklogger.py
\ No newline at end of file +CMD ["./linklogger.sh"]
\ No newline at end of file @@ -1,7 +1,6 @@ import jsonschema import os import yaml -import sys import logging from colorlog import ColoredFormatter @@ -66,7 +65,9 @@ config: "`config.yaml` was not found, a template has been created." " Please fill out the necessary information and restart." ) - sys.exit() + return False + + return True # Validate the options within config.yaml @@ -78,7 +79,7 @@ def validate_config(file_contents): jsonschema.validate(config, schema) except jsonschema.ValidationError as e: LOG.error(e.message) - sys.exit() + return False # Make IP_TO_LOCATION a boolean IP_TO_LOCATION = bool(config["config"]["ip_to_location"]) @@ -0,0 +1,20 @@ +#! /bin/bash +# If on Linux or MacOS - check tmux +if [[ "$OSTYPE" == "linux-gnu"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then + python3 linklogger.py & + cd app || return + yarn dev +fi + +# If on Windows +if [[ "$OSTYPE" == "msys" ]]; then + python3 linklogger.py & + cd app || return + yarn dev + # echo -e "This script is not supported on Windows. Please run the API and UI manually." + # echo -e "\t1. Install node.js, yarn, python3, and pip" + # echo -e "\t2. Run 'pip install -r requirements.txt' in the root directory" + # echo -e "\t3. Run 'python3 linklogger.py' in the root directory" + # echo -e "\t4. Run 'cd app' and then 'yarn dev'" + # exit 1 +fi
\ No newline at end of file diff --git a/linklogger.py b/linklogger.py index 7222d3a..c456a16 100644 --- a/linklogger.py +++ b/linklogger.py @@ -8,5 +8,5 @@ from database import Base, engine Base.metadata.create_all(bind=engine) if __name__ == "__main__": - config.load_config() - uvicorn.run(app, port=5252) + if config.load_config(): + uvicorn.run(app, port=5252) diff --git a/linklogger.sh b/linklogger.sh new file mode 100644 index 0000000..a2a0f44 --- /dev/null +++ b/linklogger.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Start nginx in the background +service nginx start + +# Run the Python script +python -u linklogger.py
\ No newline at end of file |