diff options
author | Matthew Lemon <y@yulqen.org> | 2024-12-31 16:01:12 +0000 |
---|---|---|
committer | Matthew Lemon <y@yulqen.org> | 2024-12-31 16:01:12 +0000 |
commit | c74ea9e6b4af97be26029334868fa3264032c2d3 (patch) | |
tree | 6d0dcc825f9c4d70f543eeb1817d664e5e358320 /compose/production/django/Dockerfile | |
parent | b00665b30423e4818afafdec305202797638e145 (diff) |
Major refactoring and removal of junk
This commit includes significant refactoring, cleanup, and updates across various components of the Django project. The following changes were made:
- **Database Migration Updates:**
- Removed unnecessary migrations in the `alphabetlearning.contrib.sites` and `alphabetlearning.payments` apps, consolidating them into cleaner initial migration files.
- Altered the `Site` model in `alphabetlearning.contrib.sites` to streamline its fields and default settings.
- Introduced new models in `alphabetlearning.payments` related to email signups and verification, reflecting a shift in focus and better alignment with current business logic.
- **Django Settings Changes:**
- Updated the database settings to use SQLite for local development, while commenting out production-specific configurations.
- Managed third-party dependencies within `requirements.txt` and `pyproject.toml`, ensuring alignment with the latest Django version (5.1.4) and removing obsolete dependencies (e.g., `celery`, `django-celery-beat`, `flower`, etc.).
- **Docker and Compose Clean-up:**
- Removed old Dockerfiles and unnecessary services from the `docker-compose` configuration, streamlining the local and production setups.
- Updated the Dockerfile configuration for local development, focusing on essential services only.
- **General Code Clean-up:**
- Removed unused tasks, views, tests, and files related to the Celery and Redis frameworks.
- Cleaned up various model definitions and their related migrations for consistency and clarity.
- **Documentation and Comments:**
- Updated comments and code documentation where necessary to reflect the changes made during this cleanup process.
This major refactor aims to enhance project maintainability and streamline the development experience while preparing for future feature expansions and improvements.
Diffstat (limited to 'compose/production/django/Dockerfile')
-rw-r--r-- | compose/production/django/Dockerfile | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/compose/production/django/Dockerfile b/compose/production/django/Dockerfile deleted file mode 100644 index e81a03c..0000000 --- a/compose/production/django/Dockerfile +++ /dev/null @@ -1,91 +0,0 @@ - -# define an alias for the specific python version used in this file. -FROM docker.io/python:3.12.3-slim-bookworm as python - -# Python build stage -FROM python as python-build-stage - -ARG BUILD_ENVIRONMENT=production - -# Install apt packages -RUN apt-get update && apt-get install --no-install-recommends -y \ - # dependencies for building Python packages - build-essential \ - # psycopg dependencies - libpq-dev - -# Requirements are installed here to ensure they will be cached. -COPY ./requirements . - -# Create Python Dependency and Sub-Dependency Wheels. -RUN pip wheel --wheel-dir /usr/src/app/wheels \ - -r ${BUILD_ENVIRONMENT}.txt - - -# Python 'run' stage -FROM python as python-run-stage - -ARG BUILD_ENVIRONMENT=production -ARG APP_HOME=/app - -ENV PYTHONUNBUFFERED 1 -ENV PYTHONDONTWRITEBYTECODE 1 -ENV BUILD_ENV ${BUILD_ENVIRONMENT} - -WORKDIR ${APP_HOME} - -RUN addgroup --system django \ - && adduser --system --ingroup django django - - -# Install required system dependencies -RUN apt-get update && apt-get install --no-install-recommends -y \ - libmagic1 \ - # psycopg dependencies - libpq-dev \ - # Translations dependencies - gettext \ - # cleaning up unused files - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* - -# All absolute dir copies ignore workdir instruction. All relative dir copies are wrt to the workdir instruction -# copy python dependency wheels from python-build-stage -COPY --from=python-build-stage /usr/src/app/wheels /wheels/ - -# use wheels to install python dependencies -RUN pip install --no-cache-dir --no-index --find-links=/wheels/ /wheels/* \ - && rm -rf /wheels/ - -# COPY --chown=django:django ./compose/production/django/entrypoint /entrypoint -# RUN sed -i 's/\r$//g' /entrypoint -# RUN chmod +x /entrypoint - -# COPY --chown=django:django ./compose/production/django/start /start -# RUN sed -i 's/\r$//g' /start -# RUN chmod +x /start -# COPY --chown=django:django ./compose/production/django/celery/worker/start /start-celeryworker -# RUN sed -i 's/\r$//g' /start-celeryworker -# RUN chmod +x /start-celeryworker - - -# COPY --chown=django:django ./compose/production/django/celery/beat/start /start-celerybeat -# RUN sed -i 's/\r$//g' /start-celerybeat -# RUN chmod +x /start-celerybeat - - -# COPY --chown=django:django ./compose/production/django/celery/flower/start /start-flower -# RUN sed -i 's/\r$//g' /start-flower -# RUN chmod +x /start-flower - - -# copy application code to WORKDIR -COPY --chown=django:django . ${APP_HOME} - -# make django owner of the WORKDIR directory as well. -RUN chown -R django:django ${APP_HOME} - -USER django - -RUN chmod +x docker-entrypoint.sh -ENTRYPOINT ["/app/docker-entrypoint.sh"] |