[] feat: runs every night at 1am
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
.idea
|
||||
.DS_Store
|
||||
.venv
|
||||
|
||||
11
Dockerfile
Normal file
11
Dockerfile
Normal file
@@ -0,0 +1,11 @@
|
||||
FROM python:3.12-alpine
|
||||
RUN apk update && apk add openssh
|
||||
|
||||
COPY ./ /app
|
||||
COPY --chmod=0600 ./build/id_rsa /root/.ssh/
|
||||
|
||||
RUN pip3 install requests
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
CMD ["python3", "./epg-grabber/getEpgs.py"]
|
||||
3
bash/build-deploy.sh
Executable file
3
bash/build-deploy.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
docker buildx build -t code.caldwell.digital/tools/moveonjoy-m3u:latest . --platform=linux/amd64
|
||||
docker push code.caldwell.digital/tools/moveonjoy-m3u:latest
|
||||
DOCKER_HOST="ssh://ansible@web03.caldwell.local" docker stack deploy -c deploy.compose.yml epg-grabber
|
||||
50
build/id_rsa
Normal file
50
build/id_rsa
Normal file
@@ -0,0 +1,50 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
MEBQ==
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
6
compose.yml
Normal file
6
compose.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
services:
|
||||
app:
|
||||
build: .
|
||||
command: python3 /app/epg-grabber/getEpgs.py
|
||||
volumes:
|
||||
- ./:/app
|
||||
13
deploy.compose.yml
Normal file
13
deploy.compose.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
services:
|
||||
app:
|
||||
image: code.caldwell.digital/tools/moveonjoy-m3u:latest
|
||||
command: python3 /app/epg-grabber/getEpgs.py
|
||||
deploy:
|
||||
mode: replicated
|
||||
replicas: 0
|
||||
labels:
|
||||
- "swarm.cronjob.enable=true"
|
||||
- "swarm.cronjob.schedule=0 1 * * *"
|
||||
- "swarm.cronjob.skip-running=false"
|
||||
restart_policy:
|
||||
condition: none
|
||||
@@ -59,6 +59,10 @@ def filter_and_build_epg(urls):
|
||||
tree.write(f, encoding='utf-8', xml_declaration=True)
|
||||
print(f"New EPG saved to {output_file_gz}")
|
||||
|
||||
def copy_to_server():
|
||||
os.system('scp -o StrictHostKeyChecking=no '+output_file_gz+' brock@192.168.1.10:/var/www/iptv.caldwell.local/epg.xml.gz')
|
||||
os.system('ssh -o StrictHostKeyChecking=no brock@192.168.1.10 -t ')
|
||||
|
||||
urls = [
|
||||
'https://www.dropbox.com/scl/fi/i7kgakvjubjwiscuab467/m3u4u-103216-595281-EPG.xml?rlkey=ykvw6gyhx93erycl19sa6xft5&st=tlrrz59n&dl=1',
|
||||
'https://epgshare01.online/epgshare01/epg_ripper_US1.xml.gz',
|
||||
@@ -68,4 +72,5 @@ urls = [
|
||||
]
|
||||
|
||||
if __name__ == "__main__":
|
||||
filter_and_build_epg(urls)
|
||||
# filter_and_build_epg(urls)
|
||||
copy_to_server()
|
||||
|
||||
BIN
epg.xml.gz
BIN
epg.xml.gz
Binary file not shown.
BIN
epgs/epg.xml.gz
Normal file
BIN
epgs/epg.xml.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user