diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..5126aeeb93ebff4159cad159039db93c2545dd50 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.8 +WORKDIR /var/www/oser-backend +COPY . . +VOLUME [ "/var/www/oser-backend" ] +ENV DEBIAN_FRONTEND=noninteractive +RUN apt update && apt install -y build-essential postgresql libpq-dev python3-dev git +RUN python3 -m pip install -r requirements.txt +EXPOSE 8000 +CMD python3 manage.py makemigrations && python3 manage.py migrate && python3 manage.py runserver 0.0.0.0:8000 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..2b0531960aff71bdc354b103bf0726e16d32c85e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +# Use postgres/example user/password credentials +version: '3.1' + +services: + + db: + image: postgres + restart: always + volumes: + - db_data:/var/lib/postgresql/data + environment: + POSTGRES_PASSWORD: q + POSTGRES_DB: oser_backend_db + + oser: + image: oser-backend:latest + restart: always + volumes: + - .:/var/www/oser-backend + ports: + - "8000:8000" +volumes: + db_data: {} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 452e64dd128f00575071340378f2be476caa1c45..2ad213eaf0f2ce82461392d98a0ac153cb887f75 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,48 +1,58 @@ -# Core packages -django==2.2 -djangorestframework==3.8 - -# Admin enhancements -django-admin-sortable2 # Sorting items in the admin panel -django-countries -django-guardian # Permissions - -# Email via SendGrid -django-sendgrid-v5 -django-filter -django-rest-auth - -# Telegram messages via python-telegram-bot -tornado==6.1 -python-telegram-bot==12.2.0 - -# Storage of files in AWS S3 -django-storages -boto3 - -# PostgreSQL integration -dj-database-url +autopep8==1.7.0 +boto3==1.24.45 +botocore==1.27.45 +certifi==2022.6.15 +cffi==1.15.1 +charset-normalizer==2.1.0 +click==8.1.3 +coreapi==2.3.3 +coreapi-cli==1.0.9 +coreschema==0.0.4 +cryptography==37.0.4 +dj-database-url==0.5.0 +Django==2.2 +django-admin-sortable2==1.0 +django-cors-headers==2.2.0 +django-countries==7.3.2 +django-filter==2.1.0 +django-guardian==2.4.0 +django-heroku==0.3.1 +django-markdownx==3.0.1 +django-rest-auth==0.9.5 +django-sendgrid-v5==1.2.1 +django-storages==1.12.3 +Django-Verify-Email==2.0.3 +djangorestframework==3.8.0 +dry-rest-permissions==0.1.10 +factory-boy==3.2.1 +Faker==13.15.1 +future==0.18.2 +gunicorn==20.1.0 +idna==3.3 +itypes==1.2.0 +Jinja2==3.1.2 +jmespath==1.0.1 +Markdown==3.0.1 +MarkupSafe==2.1.1 +Pillow==9.2.0 psycopg2==2.8.6 - -# Django REST Framework extensions -coreapi-cli # Required for automatic API docs -django-cors-headers # CORS (security headers sent by browsers) -django-filter # Filtering helpers for API endpoints -django-rest-auth # Password reset views -dry_rest_permissions - -# Markdown rendering -django-markdownx -pymdown-extensions -Pillow - -# Testing -factory-boy - -# Miscellanneous -python-dotenv==0.11 - -# Deployment -django-heroku # Heroku integration -whitenoise # Static files serving -gunicorn # Web server +pycodestyle==2.9.1 +pycparser==2.21 +pymdown-extensions==4.9 +python-dateutil==2.8.2 +python-dotenv==0.11.0 +python-http-client==3.3.7 +python-telegram-bot==12.2.0 +pytz==2022.1 +requests==2.28.1 +s3transfer==0.6.0 +sendgrid==6.9.7 +six==1.16.0 +sqlparse==0.4.2 +starkbank-ecdsa==2.0.3 +toml==0.10.2 +tornado==6.1 +typing-extensions==4.3.0 +uritemplate==4.1.1 +urllib3==1.26.11 +whitenoise==6.2.0