Skip to content

Project Structure

Kangsu Kim edited this page Jun 28, 2018 · 4 revisions

Overall summary

The project is consisted of two parts. One is Django project folder and the other is docker related component.

  • Repository: ./
  • Django source files: ./src/
  • Django pip requirements: ./requirements.txt
  • Docker image definition: ./Dockerfile
  • Docker-compose definitions: ./docker-compose.yml, ./docker-compose.override.yml

Above files and folders are considered crucial for running study.plus.or.kr.

Docker-compose

This project is powered by docker and docker-compose, which are a well-known container technology.

Docker-compose is used to maintain the entire components required to start study.plus.or.kr.

  • DB
    • Image: postgres:latest
    • Expose: tcp/5432
  • Web
    • Image: built in repository
    • Depends on DB

Required settings such as DJANGO_SECRET_KEY should be filled up in docker-compose.override.*.yml which is user-defined settings file.

  • docker-compose.override.dev.yml
    • Debug mode enabled
    • Mounts development folder src, all changes in the folder will immediately affect the container
  • docker-compose.override.production.yml
    • Debug mode disabled
    • Mounts static serving files and uploaded files folder for consistent behavior after image rebuild

The project can be boot up using the command docker-compose up in the root of the repository.

Clone this wiki locally