fix-docker #1
@@ -1,13 +1,12 @@
|
|||||||
FROM debian:12 AS base
|
FROM debian:12 AS base
|
||||||
WORKDIR /opt/app
|
WORKDIR /opt/app
|
||||||
|
ENV PYTHONPATH=/app
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y curl unzip cron ca-certificates python3 python3-pip && \
|
apt-get install -y curl unzip cron ca-certificates python3 python3-pip && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
# install BunJs
|
# install BunJs
|
||||||
RUN curl -fsSL https://bun.com/install | bash
|
RUN curl -fsSL https://bun.com/install | bash
|
||||||
ENV PATH="/root/.bun/bin:$PATH"
|
ENV PATH="/root/.bun/bin:$PATH"
|
||||||
# symlink python3 to python
|
|
||||||
RUN ln -s /usr/bin/python3 /usr/bin/python
|
|
||||||
|
|
||||||
# install dependencies into temp directory
|
# install dependencies into temp directory
|
||||||
# this will cache them and speed up future builds
|
# this will cache them and speed up future builds
|
||||||
@@ -17,8 +16,8 @@ COPY package.json bun.lock /temp/dev/
|
|||||||
RUN cd /temp/dev && bun install --frozen-lockfile
|
RUN cd /temp/dev && bun install --frozen-lockfile
|
||||||
# and install python dependencies
|
# and install python dependencies
|
||||||
COPY ./requirements.txt .
|
COPY ./requirements.txt .
|
||||||
RUN pip3 install --break-system-packages -r ./requirements.txt
|
RUN python3 -m pip install -r requirements.txt
|
||||||
|
# RUN python3 -m pip install -U python-dotenv
|
||||||
# install with --production (exclude devDependencies)
|
# install with --production (exclude devDependencies)
|
||||||
RUN mkdir -p /temp/prod
|
RUN mkdir -p /temp/prod
|
||||||
COPY package.json bun.lock /temp/prod/
|
COPY package.json bun.lock /temp/prod/
|
||||||
|
|||||||
@@ -1,37 +1,41 @@
|
|||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
import os
|
import os
|
||||||
|
|
||||||
load_dotenv() # Load environment variables from .env file
|
def main():
|
||||||
ntfy_username = os.getenv('ntfy_username')
|
load_dotenv() # Load environment variables from .env file
|
||||||
ntfy_password = os.getenv('ntfy_password')
|
ntfy_username = os.getenv('ntfy_username')
|
||||||
ntfy_host = os.getenv('ntfy_host')
|
ntfy_password = os.getenv('ntfy_password')
|
||||||
ntfy_topic = os.getenv('ntfy_topic')
|
ntfy_host = os.getenv('ntfy_host')
|
||||||
dc_webhook = os.getenv('dc_webhook')
|
ntfy_topic = os.getenv('ntfy_topic')
|
||||||
dc_botname = os.getenv('dc_botname')
|
dc_webhook = os.getenv('dc_webhook')
|
||||||
dc_avatar_url = os.getenv('dc_avatar_url')
|
dc_botname = os.getenv('dc_botname')
|
||||||
|
dc_avatar_url = os.getenv('dc_avatar_url')
|
||||||
|
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
import apprise
|
import apprise
|
||||||
|
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser()
|
||||||
parser.add_argument("--title")
|
parser.add_argument("--title")
|
||||||
parser.add_argument("--body")
|
parser.add_argument("--body")
|
||||||
parser.add_argument("--click")
|
parser.add_argument("--click")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
print(args)
|
print(args)
|
||||||
|
|
||||||
apobj = apprise.Apprise()
|
apobj = apprise.Apprise()
|
||||||
# config = apprise.AppriseConfig()
|
# config = apprise.AppriseConfig()
|
||||||
# config.add('https://myserver:8080/path/to/config')
|
# config.add('https://myserver:8080/path/to/config')
|
||||||
if ntfy_host and ntfy_topic:
|
if ntfy_host and ntfy_topic:
|
||||||
ntfy_link = f"ntfys://{ntfy_username}:{ntfy_password}@{ntfy_host}/{ntfy_topic}"
|
ntfy_link = f"ntfys://{ntfy_username}:{ntfy_password}@{ntfy_host}/{ntfy_topic}"
|
||||||
if args.click:
|
if args.click:
|
||||||
ntfy_link = ntfy_link + "?click=" + args.click
|
ntfy_link = ntfy_link + "?click=" + args.click
|
||||||
apobj.add(ntfy_link)
|
apobj.add(ntfy_link)
|
||||||
if dc_webhook:
|
if dc_webhook:
|
||||||
apobj.add(f"discord://{dc_webhook}?avatar_url={dc_avatar_url}&botname={dc_botname}");
|
apobj.add(f"discord://{dc_webhook}?avatar_url={dc_avatar_url}&botname={dc_botname}");
|
||||||
|
|
||||||
apobj.notify(
|
apobj.notify(
|
||||||
body=args.body,
|
body=args.body,
|
||||||
title=args.title
|
title=args.title
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
@@ -2,7 +2,7 @@ import * as Bun from "bun";
|
|||||||
|
|
||||||
export async function sendNotification(title: string, body: string, click?: string | null) {
|
export async function sendNotification(title: string, body: string, click?: string | null) {
|
||||||
const command = [
|
const command = [
|
||||||
"python",
|
"python3",
|
||||||
"./src/notification.py",
|
"./src/notification.py",
|
||||||
`--title=${title}`,
|
`--title=${title}`,
|
||||||
`--body=${body}`,
|
`--body=${body}`,
|
||||||
|
|||||||
Reference in New Issue
Block a user