[] 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)
|
tree.write(f, encoding='utf-8', xml_declaration=True)
|
||||||
print(f"New EPG saved to {output_file_gz}")
|
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 = [
|
urls = [
|
||||||
'https://www.dropbox.com/scl/fi/i7kgakvjubjwiscuab467/m3u4u-103216-595281-EPG.xml?rlkey=ykvw6gyhx93erycl19sa6xft5&st=tlrrz59n&dl=1',
|
'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',
|
'https://epgshare01.online/epgshare01/epg_ripper_US1.xml.gz',
|
||||||
@@ -68,4 +72,5 @@ urls = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
if __name__ == "__main__":
|
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