add backend and docker files
This commit is contained in:
		
							
								
								
									
										28
									
								
								backend/django/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								backend/django/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | # base image   | ||||||
|  | FROM python:3.8    | ||||||
|  | # setup environment variable   | ||||||
|  | ENV DockerHOME=/home/app/webapp   | ||||||
|  |  | ||||||
|  | # set work directory   | ||||||
|  | RUN mkdir -p $DockerHOME   | ||||||
|  |  | ||||||
|  | # where your code lives   | ||||||
|  | WORKDIR $DockerHOME   | ||||||
|  |  | ||||||
|  | # set environment variables   | ||||||
|  | ENV PYTHONDONTWRITEBYTECODE 1 | ||||||
|  | ENV PYTHONUNBUFFERED 1   | ||||||
|  |  | ||||||
|  | # install dependencies   | ||||||
|  | RUN pip install --upgrade pip   | ||||||
|  |  | ||||||
|  | # copy whole project to your docker home directory.  | ||||||
|  | # COPY . $DockerHOME   | ||||||
|  | COPY ./requirements.txt $DockerHOME | ||||||
|  | # Don't need to copy entire project directory, just use a docker volume with a local path | ||||||
|  | # run this command to install all dependencies   | ||||||
|  | RUN pip install -r requirements.txt   | ||||||
|  | # port where the Django app runs   | ||||||
|  | EXPOSE 8000   | ||||||
|  | # start server   | ||||||
|  | CMD python seatstock_django/manage.py runserver   | ||||||
							
								
								
									
										3
									
								
								backend/django/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								backend/django/build.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | docker build -t docker-django . | ||||||
							
								
								
									
										1
									
								
								backend/django/requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								backend/django/requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | django | ||||||
							
								
								
									
										0
									
								
								backend/django/seatstock_django/db.sqlite3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								backend/django/seatstock_django/db.sqlite3
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										22
									
								
								backend/django/seatstock_django/manage.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								backend/django/seatstock_django/manage.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | #!/usr/bin/env python | ||||||
|  | """Django's command-line utility for administrative tasks.""" | ||||||
|  | import os | ||||||
|  | import sys | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def main(): | ||||||
|  |     """Run administrative tasks.""" | ||||||
|  |     os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'seatstock_django.settings') | ||||||
|  |     try: | ||||||
|  |         from django.core.management import execute_from_command_line | ||||||
|  |     except ImportError as exc: | ||||||
|  |         raise ImportError( | ||||||
|  |             "Couldn't import Django. Are you sure it's installed and " | ||||||
|  |             "available on your PYTHONPATH environment variable? Did you " | ||||||
|  |             "forget to activate a virtual environment?" | ||||||
|  |         ) from exc | ||||||
|  |     execute_from_command_line(sys.argv) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | if __name__ == '__main__': | ||||||
|  |     main() | ||||||
							
								
								
									
										16
									
								
								backend/django/seatstock_django/seatstock_django/asgi.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								backend/django/seatstock_django/seatstock_django/asgi.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | """ | ||||||
|  | ASGI config for seatstock_django project. | ||||||
|  |  | ||||||
|  | It exposes the ASGI callable as a module-level variable named ``application``. | ||||||
|  |  | ||||||
|  | For more information on this file, see | ||||||
|  | https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ | ||||||
|  | """ | ||||||
|  |  | ||||||
|  | import os | ||||||
|  |  | ||||||
|  | from django.core.asgi import get_asgi_application | ||||||
|  |  | ||||||
|  | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'seatstock_django.settings') | ||||||
|  |  | ||||||
|  | application = get_asgi_application() | ||||||
							
								
								
									
										123
									
								
								backend/django/seatstock_django/seatstock_django/settings.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								backend/django/seatstock_django/seatstock_django/settings.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,123 @@ | |||||||
|  | """ | ||||||
|  | Django settings for seatstock_django project. | ||||||
|  |  | ||||||
|  | Generated by 'django-admin startproject' using Django 4.2.5. | ||||||
|  |  | ||||||
|  | For more information on this file, see | ||||||
|  | https://docs.djangoproject.com/en/4.2/topics/settings/ | ||||||
|  |  | ||||||
|  | For the full list of settings and their values, see | ||||||
|  | https://docs.djangoproject.com/en/4.2/ref/settings/ | ||||||
|  | """ | ||||||
|  |  | ||||||
|  | from pathlib import Path | ||||||
|  |  | ||||||
|  | # Build paths inside the project like this: BASE_DIR / 'subdir'. | ||||||
|  | BASE_DIR = Path(__file__).resolve().parent.parent | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Quick-start development settings - unsuitable for production | ||||||
|  | # See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ | ||||||
|  |  | ||||||
|  | # SECURITY WARNING: keep the secret key used in production secret! | ||||||
|  | SECRET_KEY = 'django-insecure---ve)lzpo4*frbw+zylax#h=frp-h5f4sx5*1-pipq&rgfl$k9' | ||||||
|  |  | ||||||
|  | # SECURITY WARNING: don't run with debug turned on in production! | ||||||
|  | DEBUG = True | ||||||
|  |  | ||||||
|  | ALLOWED_HOSTS = [] | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Application definition | ||||||
|  |  | ||||||
|  | INSTALLED_APPS = [ | ||||||
|  |     'django.contrib.admin', | ||||||
|  |     'django.contrib.auth', | ||||||
|  |     'django.contrib.contenttypes', | ||||||
|  |     'django.contrib.sessions', | ||||||
|  |     'django.contrib.messages', | ||||||
|  |     'django.contrib.staticfiles', | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | MIDDLEWARE = [ | ||||||
|  |     'django.middleware.security.SecurityMiddleware', | ||||||
|  |     'django.contrib.sessions.middleware.SessionMiddleware', | ||||||
|  |     'django.middleware.common.CommonMiddleware', | ||||||
|  |     'django.middleware.csrf.CsrfViewMiddleware', | ||||||
|  |     'django.contrib.auth.middleware.AuthenticationMiddleware', | ||||||
|  |     'django.contrib.messages.middleware.MessageMiddleware', | ||||||
|  |     'django.middleware.clickjacking.XFrameOptionsMiddleware', | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | ROOT_URLCONF = 'seatstock_django.urls' | ||||||
|  |  | ||||||
|  | TEMPLATES = [ | ||||||
|  |     { | ||||||
|  |         'BACKEND': 'django.template.backends.django.DjangoTemplates', | ||||||
|  |         'DIRS': [], | ||||||
|  |         'APP_DIRS': True, | ||||||
|  |         'OPTIONS': { | ||||||
|  |             'context_processors': [ | ||||||
|  |                 'django.template.context_processors.debug', | ||||||
|  |                 'django.template.context_processors.request', | ||||||
|  |                 'django.contrib.auth.context_processors.auth', | ||||||
|  |                 'django.contrib.messages.context_processors.messages', | ||||||
|  |             ], | ||||||
|  |         }, | ||||||
|  |     }, | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | WSGI_APPLICATION = 'seatstock_django.wsgi.application' | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Database | ||||||
|  | # https://docs.djangoproject.com/en/4.2/ref/settings/#databases | ||||||
|  |  | ||||||
|  | DATABASES = { | ||||||
|  |     'default': { | ||||||
|  |         'ENGINE': 'django.db.backends.sqlite3', | ||||||
|  |         'NAME': BASE_DIR / 'db.sqlite3', | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Password validation | ||||||
|  | # https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators | ||||||
|  |  | ||||||
|  | AUTH_PASSWORD_VALIDATORS = [ | ||||||
|  |     { | ||||||
|  |         'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', | ||||||
|  |     }, | ||||||
|  | ] | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Internationalization | ||||||
|  | # https://docs.djangoproject.com/en/4.2/topics/i18n/ | ||||||
|  |  | ||||||
|  | LANGUAGE_CODE = 'en-us' | ||||||
|  |  | ||||||
|  | TIME_ZONE = 'UTC' | ||||||
|  |  | ||||||
|  | USE_I18N = True | ||||||
|  |  | ||||||
|  | USE_TZ = True | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Static files (CSS, JavaScript, Images) | ||||||
|  | # https://docs.djangoproject.com/en/4.2/howto/static-files/ | ||||||
|  |  | ||||||
|  | STATIC_URL = 'static/' | ||||||
|  |  | ||||||
|  | # Default primary key field type | ||||||
|  | # https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field | ||||||
|  |  | ||||||
|  | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' | ||||||
							
								
								
									
										22
									
								
								backend/django/seatstock_django/seatstock_django/urls.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								backend/django/seatstock_django/seatstock_django/urls.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | """ | ||||||
|  | URL configuration for seatstock_django project. | ||||||
|  |  | ||||||
|  | The `urlpatterns` list routes URLs to views. For more information please see: | ||||||
|  |     https://docs.djangoproject.com/en/4.2/topics/http/urls/ | ||||||
|  | Examples: | ||||||
|  | Function views | ||||||
|  |     1. Add an import:  from my_app import views | ||||||
|  |     2. Add a URL to urlpatterns:  path('', views.home, name='home') | ||||||
|  | Class-based views | ||||||
|  |     1. Add an import:  from other_app.views import Home | ||||||
|  |     2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home') | ||||||
|  | Including another URLconf | ||||||
|  |     1. Import the include() function: from django.urls import include, path | ||||||
|  |     2. Add a URL to urlpatterns:  path('blog/', include('blog.urls')) | ||||||
|  | """ | ||||||
|  | from django.contrib import admin | ||||||
|  | from django.urls import path | ||||||
|  |  | ||||||
|  | urlpatterns = [ | ||||||
|  |     path('admin/', admin.site.urls), | ||||||
|  | ] | ||||||
							
								
								
									
										16
									
								
								backend/django/seatstock_django/seatstock_django/wsgi.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								backend/django/seatstock_django/seatstock_django/wsgi.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | """ | ||||||
|  | WSGI config for seatstock_django project. | ||||||
|  |  | ||||||
|  | It exposes the WSGI callable as a module-level variable named ``application``. | ||||||
|  |  | ||||||
|  | For more information on this file, see | ||||||
|  | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ | ||||||
|  | """ | ||||||
|  |  | ||||||
|  | import os | ||||||
|  |  | ||||||
|  | from django.core.wsgi import get_wsgi_application | ||||||
|  |  | ||||||
|  | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'seatstock_django.settings') | ||||||
|  |  | ||||||
|  | application = get_wsgi_application() | ||||||
							
								
								
									
										19
									
								
								docker/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								docker/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | version: "3.3" | ||||||
|  |  | ||||||
|  | services: | ||||||
|  |   nginx: | ||||||
|  |     image: nginx:latest | ||||||
|  |     restart: unless-stopped | ||||||
|  |     ports: | ||||||
|  |       - "8080:80" | ||||||
|  |     volumes: | ||||||
|  |       - ../frontend:/usr/share/nginx/html | ||||||
|  |       - ./volumes/config:/usr/share/nginx/html | ||||||
|  |  | ||||||
|  |   docker-django: | ||||||
|  |     image: docker-django | ||||||
|  |     restart: unless-stopped | ||||||
|  |     ports: | ||||||
|  |       - "8000:8000" | ||||||
|  |     volumes: | ||||||
|  |       - ../backend/django:/home/app/webapp | ||||||
							
								
								
									
										4
									
								
								docker/restart.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								docker/restart.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | docker-compose down | ||||||
|  | docker-compose up -d | ||||||
		Reference in New Issue
	
	Block a user