diff options
| author | Mitch Riedstra <mitch@riedstra.us> | 2019-09-14 00:06:50 -0400 |
|---|---|---|
| committer | Mitch Riedstra <mitch@riedstra.us> | 2019-09-14 00:06:57 -0400 |
| commit | 0e82caee0b427dcb957ff78a6c2779e7d9e27dde (patch) | |
| tree | e5797fdc1e4956c2a60a8f70e8e672670062d376 | |
| parent | 4dc24df3bc8043fdbbbd0d9f11b9b78cf658abfd (diff) | |
| download | dispatch-tracker-0e82caee0b427dcb957ff78a6c2779e7d9e27dde.tar.gz dispatch-tracker-0e82caee0b427dcb957ff78a6c2779e7d9e27dde.tar.xz | |
Fully automated setup and forward port 36200
| -rw-r--r-- | .dockerignore | 2 | ||||
| -rw-r--r-- | Dockerfile | 30 | ||||
| -rw-r--r-- | app/.ash_history | 8 | ||||
| -rw-r--r-- | app/dispatch/management/commands/setup.py | 19 | ||||
| -rw-r--r-- | app/dispatch/management/commands/setup_identity.py | 37 | ||||
| -rw-r--r-- | docker-compose.yml | 2 | ||||
| -rwxr-xr-x | docker-scripts/setup.sh | 13 | ||||
| -rwxr-xr-x | docker-scripts/shell.sh | 1 |
8 files changed, 78 insertions, 34 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..69ae62b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +app/env* +app/media @@ -1,40 +1,24 @@ FROM alpine:latest -RUN apk update && apk add python3 py3-setuptools py3-virtualenv - -RUN apk add postgresql-dev gcc python3-dev libc-dev +RUN apk update && apk add python3 py3-setuptools py3-virtualenv postgresql-client +RUN apk add linux-headers postgresql-dev gcc python3-dev libc-dev COPY app/requirements.txt /requirements.txt - RUN pip3 install --no-cache-dir -r /requirements.txt - -RUN apk add linux-headers - +RUN rm /requirements.txt RUN pip3 install --no-cache-dir uwsgi -RUN apk del linux-headers -RUN apk add postgresql-client +RUN apk del linux-headers postgresql-dev gcc python3-dev libc-dev # Feel free to change the UID if necessary -RUN adduser -D -H -u 1000 uwsgi +RUN adduser -D -H -u 1000 app # RUN apk add uwsgi-python3 -RUN rm /requirements.txt -RUN mkdir /app && chown uwsgi /app -RUN mkdir /static && chown uwsgi /static +RUN mkdir /app /static && chown app /app /static -USER uwsgi +USER app CMD [ "uwsgi", "--ini", "/app/uwsgi.ini" ] - -# WORKDIR /app - -# CMD [ "uwsgi", "--socket", "0.0.0.0:9200", \ -# "--env", "CUSTOM_CONFIG=/app/config.yml", \ -# "--processes", "1", \ -# "--threads", "4", \ -# "--uid", "uwsgi", \ -# "wsgi:application" ] diff --git a/app/.ash_history b/app/.ash_history new file mode 100644 index 0000000..315e6ea --- /dev/null +++ b/app/.ash_history @@ -0,0 +1,8 @@ +ls +pwd +cd +ls -la +pwd +vi manage.py +woami +whoami diff --git a/app/dispatch/management/commands/setup.py b/app/dispatch/management/commands/setup.py index bdfa96e..8c72a94 100644 --- a/app/dispatch/management/commands/setup.py +++ b/app/dispatch/management/commands/setup.py @@ -1,6 +1,5 @@ from django.core.management.base import BaseCommand, CommandError from django.contrib.auth import get_user_model -from dispatch.models import Customer, Load from faker import Faker import random @@ -12,4 +11,20 @@ User = get_user_model() class Command(BaseCommand): - help = "Run with " + help = "Sets up the default Super User for the application, as a demo" + + def add_arguments(self, parser): + # parser.add_argument('--file', type=str, dest='filename') + parser.add_argument('--fname', type=str, dest='fname', default='Admin') + parser.add_argument('--lname', type=str, dest='lname', default='User') + parser.add_argument('--email', type=str, dest='email', default='admin@example.com') + parser.add_argument('--password', type=str, dest='password', default='password') + + + def handle(self, *args, **options): + User.objects.create_superuser( + email=options['email'], + first_name=options['fname'], + last_name=options['lname'], + password=options['password']) + diff --git a/app/dispatch/management/commands/setup_identity.py b/app/dispatch/management/commands/setup_identity.py new file mode 100644 index 0000000..21ad59c --- /dev/null +++ b/app/dispatch/management/commands/setup_identity.py @@ -0,0 +1,37 @@ +from django.core.management.base import BaseCommand, CommandError +from django.contrib.auth import get_user_model +from dispatch.models import Identity +from faker import Faker +import random + +from django.db.utils import IntegrityError + +# import yaml + +User = get_user_model() + + +class Command(BaseCommand): + help = "Sets up the default Identity for the application, --name $name --address $addres --city $city --state $state --zip $zip" + + def add_arguments(self, parser): + # parser.add_argument('--file', type=str, dest='filename') + parser.add_argument('--name', type=str, dest='name', default='My Company') + parser.add_argument('--address', type=str, dest='address', default='123 Main St') + parser.add_argument('--city', type=str, dest='city', default='Demoville') + parser.add_argument('--state', type=str, dest='state', default='Michigan') + parser.add_argument('--zip', type=str, dest='zip', default='49503') + + + def handle(self, *args, **options): + u = User.objects.first() + + ident = Identity( + user=u, + name=options['name'], + address=options['address'], + city=options['city'], + state=options['state'], + zip_code=options['zip']) + ident.save() + ident.set_default() diff --git a/docker-compose.yml b/docker-compose.yml index b4c08e0..170a51f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,8 @@ services: networks: backend: ipv4_address: 172.21.23.2 + ports: + - "36200:80" volumes: - ./static:/var/www - ./nginx.conf:/etc/nginx/nginx.conf diff --git a/docker-scripts/setup.sh b/docker-scripts/setup.sh index e036aa8..6e4ff18 100755 --- a/docker-scripts/setup.sh +++ b/docker-scripts/setup.sh @@ -11,16 +11,11 @@ docker run --rm -it \ cd /app; export CUSTOM_CONFIG=config-compose.yml echo "create database dispatch;" | psql -U postgres -h postgres - python3 ./manage.py collectstatic + python3 ./manage.py collectstatic --no-input python3 ./manage.py migrate - python3 ./manage.py createsuperuser - - v="" - while ! [ "$v" = "done" ] ; do - printf "Please login to the system and fill out the form," - printf "then come back, type \"done\" to continue:\t" - read v; - done + # python3 ./manage.py createsuperuser + python3 ./manage.py setup + python3 ./manage.py setup_identity python3 ./manage.py insert_fake_data --companies 10 --users 10 \ --loads 400 --start-date='"'"'-16w'"'"' --end-date='"'"'+16w'"'"' \ diff --git a/docker-scripts/shell.sh b/docker-scripts/shell.sh index 4a417c0..c9ae91f 100755 --- a/docker-scripts/shell.sh +++ b/docker-scripts/shell.sh @@ -4,6 +4,7 @@ docker run --rm -it \ --network dispatch-tracker_backend \ + -e CUSTOM_CONFIG=config-compose.yml \ -v $(pwd)/static:/static \ -v $(pwd)/app:/app \ --user 0 \ |
