-
Notifications
You must be signed in to change notification settings - Fork 185
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Initial commit for Dockerization * Fix review comments and dockerignore * Update dev.py.sample with runsslserver * Fixes for using default settings module * Remove Dockerfile.celery and use image from junction web image * Update docker-compose.test.yml to not depend on postgres db * Add static asset compilation in Docker image * Add docker-compose.prod.yml and update server port configuration in application * Add social oauth env vars --------- Co-authored-by: Sanchit Balchandani <[email protected]> Co-authored-by: Ananya Maiti <[email protected]>
- Loading branch information
Showing
20 changed files
with
321 additions
and
94 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# .dockerignore | ||
|
||
# Ignore Python bytecode files | ||
__pycache__/ | ||
*.pyc | ||
*.pyo | ||
*.pyd | ||
|
||
# Ignore virtual environment directories | ||
venv/ | ||
*.virtualenv/ | ||
.env/ | ||
|
||
# Ignore Django migration files | ||
*/migrations/*.pyc | ||
*/migrations/__pycache__/ | ||
|
||
# Ignore logs | ||
logs/ | ||
*.log | ||
|
||
# Ignore configuration files | ||
*.ini | ||
|
||
# Ignore user-specific files (e.g., editor settings) | ||
*.swp | ||
*.swo | ||
*.swn | ||
*.bak | ||
*.tmp | ||
*.sublime* | ||
*.vscode/ | ||
|
||
# Ignore local media files | ||
media/ | ||
|
||
# Ignore local database files (SQLite) | ||
*.sqlite3 | ||
*.sqlite3-journal | ||
|
||
# Ignore test coverage reports | ||
.coverage | ||
htmlcov/ | ||
|
||
# Ignore build artifacts and distribution files | ||
build/ | ||
dist/ | ||
*.egg-info/ | ||
*.egg | ||
*.wheel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
DEBUG=TRUE | ||
POSTGRES_USER=postgres | ||
POSTGRES_PASSWORD=junction | ||
POSTGRES_DB=junction | ||
HOST_NAME=db | ||
DB_PORT=5432 | ||
BROKER_URL=redis://redis:6379/0 | ||
CELERY_RESULT_BACKEND=redis://redis:6379/0 | ||
SITE_NAME=junction | ||
SERVER_PORT=8888 | ||
GOOGLE_ANALYTICS_ID=google_analytics_id | ||
FACEBOOK_APP_ID=fb_app_id | ||
EMAIL_HOST_USER=email_host_user | ||
EMAIL_HOST_PASSWORD=email_host_pass | ||
SECRET_KEY=secret_key | ||
GITHUB_CLIENT_ID=github_client_id | ||
GITHUB_CLIENT_SECRET=github_client_secret | ||
GOOGLE_CLIENT_ID=google_oauth_client_id | ||
GOOGLE_CLIENT_SECRET=google_oauth_client_secret | ||
TWITTER_CONSUMER_KEY=twitter_consume_key | ||
TWITTER_CONSUMER_SECRET=twitter_consume_secret | ||
TWITTER_ACCESS_TOKEN_KEY=twitter_access_token | ||
TWITTER_ACCESS_TOKEN_SECRET=twitter_access_token_secret | ||
USE_ASYNC_FOR_EMAIL=boolean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -90,4 +90,7 @@ qr_files/ | |
#VSCode | ||
.vscode/ | ||
|
||
tmp/ | ||
tmp/ | ||
|
||
# Env | ||
.env |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
FROM python:3.10-slim-buster | ||
|
||
WORKDIR /code | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
gcc \ | ||
postgresql-client \ | ||
build-essential \ | ||
nodejs \ | ||
npm \ | ||
libpq-dev && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
COPY requirements.txt /code/ | ||
RUN pip install --no-cache-dir -r requirements.txt | ||
|
||
# Install requirements for running tests | ||
COPY ./tools/requirements-test.txt /code/ | ||
RUN pip install --no-cache-dir -r requirements-test.txt | ||
|
||
RUN npm install -g yarn | ||
RUN npm install -g grunt-cli | ||
|
||
COPY . /code/ | ||
|
||
RUN chmod +x bin/install-static.sh | ||
RUN bin/install-static.sh | ||
# not getting used at this moment | ||
RUN chmod +x bin/wait-for-it.sh | ||
|
||
ENV PYTHONUNBUFFERED=1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/bin/bash | ||
cd junction/static | ||
yarn install | ||
grunt less | ||
cd ../.. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash | ||
# wait-for-it.sh: Wait for a service to be ready. | ||
|
||
set -e | ||
|
||
host="$1" | ||
port="$2" | ||
shift 2 | ||
cmd="$@" | ||
|
||
until PGPASSWORD="$POSTGRES_PASSWORD" psql -h "$host" -U "$POSTGRES_USER" -c '\q'; do | ||
>&2 echo "Postgres is unavailable - sleeping" | ||
sleep 1 | ||
done | ||
|
||
>&2 echo "Postgres is up - executing command" | ||
exec $cmd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
version: '3.8' | ||
|
||
services: | ||
db: | ||
image: postgres:15-alpine | ||
ports: | ||
- "5432:5432" | ||
volumes: | ||
- postgres_data:/var/lib/postgresql/data/ | ||
env_file: | ||
- .env | ||
|
||
redis: | ||
image: redis:latest | ||
ports: | ||
- "6379:6379" | ||
|
||
web: | ||
image: ananyo2012/junction:1.1 | ||
volumes: | ||
- .:/code | ||
ports: | ||
- "${SERVER_PORT}:${SERVER_PORT}" | ||
depends_on: | ||
- db | ||
env_file: | ||
- .env | ||
command: sh -c 'python manage.py migrate && python manage.py collectstatic --noinput --clear && gunicorn -c gunicorn.conf.py' | ||
|
||
celery: | ||
image: ananyo2012/junction:1.1 | ||
depends_on: | ||
- db | ||
- redis | ||
- web | ||
env_file: | ||
- .env | ||
command: sh -c 'celery -A junction worker -l info -E' | ||
|
||
volumes: | ||
postgres_data: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
version: '3.8' | ||
|
||
services: | ||
test: | ||
build: | ||
context: . | ||
dockerfile: Dockerfile | ||
command: sh -c pytest --cov=unit --cov=integrations --cov-report=html -v |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
version: '3.8' | ||
|
||
services: | ||
db: | ||
image: postgres:15-alpine | ||
ports: | ||
- "5432:5432" | ||
volumes: | ||
- postgres_data:/var/lib/postgresql/data/ | ||
env_file: | ||
- .env | ||
|
||
redis: | ||
image: redis:latest | ||
ports: | ||
- "6379:6379" | ||
|
||
web: | ||
build: | ||
context: . | ||
dockerfile: Dockerfile | ||
image: junction_local | ||
volumes: | ||
- .:/code | ||
ports: | ||
- "${SERVER_PORT}:${SERVER_PORT}" | ||
depends_on: | ||
- db | ||
env_file: | ||
- .env | ||
command: sh -c 'python manage.py migrate && python manage.py runsslserver 0.0.0.0:${SERVER_PORT}' | ||
|
||
celery: | ||
image: junction_local | ||
depends_on: | ||
- db | ||
- redis | ||
- web | ||
env_file: | ||
- .env | ||
command: sh -c 'celery -A junction worker -l info -E' | ||
|
||
volumes: | ||
postgres_data: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,7 @@ | ||
import os | ||
port = os.environ.get("SERVER_PORT", "8888") | ||
|
||
wsgi_app = "wsgi" | ||
bind = "0.0.0.0:8001" | ||
bind = f"0.0.0.0:{port}" | ||
workers = 2 | ||
loglevel = "debug" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
from django.conf.urls import url | ||
from django.urls import re_path | ||
|
||
from . import views | ||
|
||
urlpatterns = [url(r"^$", views.get_conference, name="get-conference")] | ||
urlpatterns = [re_path(r"^$", views.get_conference, name="get-conference")] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
from django.conf.urls import url | ||
from django.urls import re_path | ||
|
||
from . import views | ||
|
||
app_name = "junction.profiles" | ||
|
||
urlpatterns = [ | ||
url(r"^$", views.dashboard, name="dashboard"), | ||
url(r"^edit/$", views.profile, name="profile"), | ||
re_path(r"^$", views.dashboard, name="dashboard"), | ||
re_path(r"^edit/$", views.profile, name="profile"), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.