Compare commits
4 Commits
66b2faac7c
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 1105083ac3 | |||
| ce85914415 | |||
| e1e8c67e5f | |||
| 527ca78721 |
@@ -0,0 +1,2 @@
|
|||||||
|
keys/*
|
||||||
|
venv/*
|
||||||
+3
-1
@@ -6,7 +6,9 @@ COPY requirements.txt ./
|
|||||||
|
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
RUN apt-get update -y && apt-get upgrade -y
|
RUN apt-get update -y && apt-get upgrade -y
|
||||||
RUN apt-get install -y rsync
|
RUN apt-get install -y rsync ssh
|
||||||
|
|
||||||
|
# TODO: Need to install ssh key here
|
||||||
|
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
|
|||||||
+7
-2
@@ -9,7 +9,7 @@ app = Flask(__name__)
|
|||||||
UNENCODED_AUTH_TOKEN='PitD5xB+Wq6uH7W7UfPtoJo4F6UfWZ9yLrSKZ0bKg9EGoUrK2W77TEI5Y5x1j4uzluqleOo8TGZq2w=='
|
UNENCODED_AUTH_TOKEN='PitD5xB+Wq6uH7W7UfPtoJo4F6UfWZ9yLrSKZ0bKg9EGoUrK2W77TEI5Y5x1j4uzluqleOo8TGZq2w=='
|
||||||
AUTH_TOKEN=base64.b64encode(f"me:{UNENCODED_AUTH_TOKEN}".encode('utf-8')).decode('utf-8')
|
AUTH_TOKEN=base64.b64encode(f"me:{UNENCODED_AUTH_TOKEN}".encode('utf-8')).decode('utf-8')
|
||||||
|
|
||||||
REMOTE_DIRECTORY="margarita:./basket/*"
|
REMOTE_DIRECTORY="sinbad@margarita:./basket/*"
|
||||||
LOCAL_DEST="/serve/data/basket"
|
LOCAL_DEST="/serve/data/basket"
|
||||||
PORT=35350
|
PORT=35350
|
||||||
|
|
||||||
@@ -24,7 +24,12 @@ def requestsync():
|
|||||||
try:
|
try:
|
||||||
# Run rsync
|
# Run rsync
|
||||||
print("Sync requested... running now.")
|
print("Sync requested... running now.")
|
||||||
subprocess.run(['rsync', '-ravzL', REMOTE_DIRECTORY, LOCAL_DEST], check=True)
|
subprocess.run(['rsync',
|
||||||
|
'-ravzL',
|
||||||
|
'-e',
|
||||||
|
'ssh -i /app/keys/id_rsa',
|
||||||
|
REMOTE_DIRECTORY,
|
||||||
|
LOCAL_DEST], check=True)
|
||||||
return jsonify({'status': 'OK'})
|
return jsonify({'status': 'OK'})
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
return jsonify({"error": 'rsync failed', 'details': str(e)}), 500
|
return jsonify({"error": 'rsync failed', 'details': str(e)}), 500
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ services:
|
|||||||
- "35350:35350"
|
- "35350:35350"
|
||||||
volumes:
|
volumes:
|
||||||
- /serve/data/basket:/serve/data/basket
|
- /serve/data/basket:/serve/data/basket
|
||||||
- $HOME/.ssh:/root/.ssh
|
|
||||||
environment:
|
environment:
|
||||||
- UID=${UID:-1000}
|
- UID=${UID:-1000}
|
||||||
- GID=1000
|
- GID=1000
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -u -e -o pipefail
|
||||||
|
|
||||||
|
mkdir -p keys
|
||||||
|
ssh-keygen -f keys/id_rsa -t rsa
|
||||||
|
|
||||||
|
ssh-copy-id -i keys/id_rsa sinbad@margarita
|
||||||
Reference in New Issue
Block a user