diff --git a/Dockerfile b/Dockerfile index addc079..ea4c9ff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ -FROM python:3 +FROM python:3-alpine ENV PYTHONUNBUFFERED 1 -RUN git clone https://github.com/cryptosharks131/lndg.git /lndg -WORKDIR /lndg +RUN apk add git && git clone https://github.com/cryptosharks131/lndg /app +WORKDIR /app +RUN git checkout "master" RUN pip install -r requirements.txt -RUN pip install supervisor whitenoise \ No newline at end of file +RUN pip install whitenoise +ENTRYPOINT [ "sh" ] \ No newline at end of file diff --git a/controller.py b/controller.py index 913b1cb..f09ecf6 100644 --- a/controller.py +++ b/controller.py @@ -1,5 +1,5 @@ -import multiprocessing -import jobs, rebalancer, htlc_stream, p2p +import multiprocessing, sys +import jobs, rebalancer, htlc_stream, p2p, manage def run_task(task): task() @@ -10,7 +10,13 @@ def main(): processes = [] for task in tasks: - process = multiprocessing.Process(target=run_task, args=(task,)) + process = multiprocessing.Process(target=run_task, name=task.__module__, args=(task,)) + processes.append(process) + process.start() + + if len(sys.argv) > 1: + sys.argv[0] = "manage.py" + process = multiprocessing.Process(target=manage.main(sys.argv), name="manage.py") processes.append(process) process.start() diff --git a/docker-compose.yaml b/docker-compose.yaml index 6fcf770..b672c13 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -3,10 +3,9 @@ services: build: . volumes: - /root/.lnd:/root/.lnd:ro - - /root/lndg/data:/lndg/data:rw + - /root/lndg/data:/app/data:rw command: - - sh - -c - - python initialize.py -net 'mainnet' -server 'localhost:10009' -d && supervisord && python manage.py runserver 0.0.0.0:8000 + - python initialize.py -net 'mainnet' -rpc 'localhost:10009' -wn && python controller.py runserver 0.0.0.0:8000 > /var/log/lndg-controller.log 2>&1 ports: - 8889:8000 \ No newline at end of file diff --git a/gui/views.py b/gui/views.py index bedfbaa..91e5103 100644 --- a/gui/views.py +++ b/gui/views.py @@ -231,7 +231,7 @@ def logs(request): if request.method == 'GET': try: count = request.GET.get('tail', 20) - logfile = '/var/log/lndg-controller.log' if path.isfile('/var/log/lndg-controller.log') else 'data/lndg-controller.log' + logfile = '/var/log/lndg-controller.log' file_size = path.getsize(logfile)-2 if file_size == 0: logs = ['Logs are empty....'] diff --git a/initialize.py b/initialize.py index 2793a5c..a4e7386 100644 --- a/initialize.py +++ b/initialize.py @@ -214,7 +214,7 @@ process_name = lndg-controller directory = %s autorestart = true redirect_stderr = true -stdout_logfile = %s/data/lndg-controller.log +stdout_logfile = /var/log/lndg-controller.log stdout_logfile_maxbytes = 150MB stdout_logfile_backups = 15 ''' % (sduser, supervisord_secret, supervisord_secret, BASE_DIR, BASE_DIR) @@ -287,7 +287,7 @@ def main(): parser.add_argument('-ip', '--nodeip',help = 'IP that will be used to access the LNDg page', default='*') parser.add_argument('-dir', '--lnddir',help = 'LND Directory for tls cert and admin macaroon paths', default=None) parser.add_argument('-net', '--network', help = 'Network LND will run over', default='mainnet') - parser.add_argument('-server', '--rpcserver', help = 'Server address to use for rpc communications with LND', default='localhost:10009') + parser.add_argument('-rpc', '--rpcserver', help = 'Server address to use for rpc communications with LND', default='localhost:10009') parser.add_argument('-maxmsg', '--maxmessage', help = 'Maximum message size for grpc communications (MB)', default='35') parser.add_argument('-sd', '--supervisord', help = 'Setup supervisord to run jobs/rebalancer background processes', action='store_true') parser.add_argument('-sdu', '--sduser', help = 'Configure supervisord with a non-root user', default='root') diff --git a/manage.py b/manage.py index 4188aaf..0d252d9 100644 --- a/manage.py +++ b/manage.py @@ -4,7 +4,7 @@ import os import sys -def main(): +def main(args): """Run administrative tasks.""" os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lndg.settings') try: @@ -15,8 +15,8 @@ def main(): "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtual environment?" ) from exc - execute_from_command_line(sys.argv) + execute_from_command_line(args) if __name__ == '__main__': - main() + main(sys.argv)