60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Django Web Application
|
|
web:
|
|
build: .
|
|
ports:
|
|
- "8010:8000"
|
|
volumes:
|
|
- static_volume:/app/staticfiles
|
|
- media_volume:/app/media
|
|
environment:
|
|
- DEBUG=True
|
|
- DJANGO_SETTINGS_MODULE=webshop.settings
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
command: >
|
|
sh -c "python manage.py migrate &&
|
|
python manage.py collectstatic --noinput &&
|
|
python manage.py runserver 0.0.0.0:8000"
|
|
|
|
# PostgreSQL Database
|
|
db:
|
|
image: postgres:15
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_DB=fursuit_shop
|
|
- POSTGRES_USER=fursuit_user
|
|
- POSTGRES_PASSWORD=fursuit_password
|
|
ports:
|
|
- "5433:5432"
|
|
|
|
# Redis für Channels/Caching
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6380:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
|
|
# Elasticsearch für Search
|
|
elasticsearch:
|
|
image: elasticsearch:8.11.0
|
|
environment:
|
|
- discovery.type=single-node
|
|
- xpack.security.enabled=false
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
ports:
|
|
- "9200:9200"
|
|
volumes:
|
|
- elasticsearch_data:/usr/share/elasticsearch/data
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
elasticsearch_data:
|
|
static_volume:
|
|
media_volume: |