aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2019-09-14 00:06:50 -0400
committerMitch Riedstra <mitch@riedstra.us>2019-09-14 00:06:57 -0400
commit0e82caee0b427dcb957ff78a6c2779e7d9e27dde (patch)
treee5797fdc1e4956c2a60a8f70e8e672670062d376
parent4dc24df3bc8043fdbbbd0d9f11b9b78cf658abfd (diff)
downloaddispatch-tracker-0e82caee0b427dcb957ff78a6c2779e7d9e27dde.tar.gz
dispatch-tracker-0e82caee0b427dcb957ff78a6c2779e7d9e27dde.tar.xz
Fully automated setup and forward port 36200
-rw-r--r--.dockerignore2
-rw-r--r--Dockerfile30
-rw-r--r--app/.ash_history8
-rw-r--r--app/dispatch/management/commands/setup.py19
-rw-r--r--app/dispatch/management/commands/setup_identity.py37
-rw-r--r--docker-compose.yml2
-rwxr-xr-xdocker-scripts/setup.sh13
-rwxr-xr-xdocker-scripts/shell.sh1
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
diff --git a/Dockerfile b/Dockerfile
index 62693b7..476dccd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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 \