diff --git a/Dockerfile b/Dockerfile
index cdde390..56662fa 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,9 @@
FROM python:3.7 as backend
-RUN apt-get update -qq \
- && apt-get install -y --no-install-recommends default-mysql-client=1.0.5 \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update -qq \
+ && apt-get install -y postgresql-contrib libpq-dev python3-dev \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
ENV PYTHONUNBUFFERED 1
diff --git a/chart/lw-app/Chart.yaml b/chart/lw-app/Chart.yaml
index e0fbb6e..7e8df12 100644
--- a/chart/lw-app/Chart.yaml
+++ b/chart/lw-app/Chart.yaml
@@ -7,7 +7,6 @@ version: 0.0.1
appVersion: 0.0.1
dependencies:
- - name: mariadb
- chart: stable/mariadb
- version: 7.5.1
+ - name: postgresql
+ version: 9.3.2
repository: "https://charts.bitnami.com/bitnami"
diff --git a/chart/lw-app/templates/django-deployment.yaml b/chart/lw-app/templates/django-deployment.yaml
index a7a9b53..60b2b6c 100644
--- a/chart/lw-app/templates/django-deployment.yaml
+++ b/chart/lw-app/templates/django-deployment.yaml
@@ -86,9 +86,9 @@ spec:
- name: DJANGO_SETTINGS_MODULE
value: 'lw.core.settings.production'
- name: DB_NAME
- value: {{ .Values.mariadb.db.name }}
+ value: {{ .Release.Namespace}}-postgresql-headless
- name: DB_USER
- value: {{ .Values.mariadb.db.user }}
+ value: {{ .Values.postgresql.postgresqlUsername }}
- name: DB_HOST
value: {{ .Release.Name }}-mariadb
- name: DB_PASSWORD
diff --git a/chart/lw-app/values.yaml b/chart/lw-app/values.yaml
index ce0bc55..47a8ff3 100644
--- a/chart/lw-app/values.yaml
+++ b/chart/lw-app/values.yaml
@@ -27,21 +27,8 @@ nginx:
ingress:
enabled: false
-mariadb:
- master:
- resources:
- limits:
- memory: 200Mi
-
- replication:
- enabled: false
-
- rootUser:
- forcePassword: true
- password: test
-
- db:
- name: lw
- user: lw
- forcePassword: true
- password: test
+postgresql:
+ local: true
+ postgresqlPassword: qwerty
+ volumePermissions:
+ enabled: true
diff --git a/docker-compose.yml b/docker-compose.yml
index c89c513..35a6d7f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,13 +2,11 @@ version: '3.4'
services:
db:
- image: mariadb:10.3
+ image: postgres:13-alpine
environment:
- MYSQL_DATABASE: lw
- MYSQL_ALLOW_EMPTY_PASSWORD: 1
- volumes:
- - ./db:/var/lib/mysql
- - ./mysql.conf.d:/etc/mysql/conf.d
+ - POSTGRES_HOST_AUTH_METHOD=trust
+ ports:
+ - 5432:5432
nginx:
build:
@@ -21,7 +19,7 @@ services:
build:
context: .
target: backend
- command: bash -c "pip install -r requirements.txt && python manage.py migrate && ./manage.py runserver 0.0.0.0:8080"
+ command: bash -c "pip install -r requirements.txt && python manage.py migrate && python -m pdb manage.py runserver 0.0.0.0:8080"
volumes:
- .:/code
ports:
@@ -32,7 +30,8 @@ services:
DJANGO_ENV: dev
DJANGO_SETTINGS_MODULE: 'lw.core.settings.dev'
DB_NAME: 'lw'
- DB_USER: 'root'
+ DB_USER: 'postgres'
DB_PASSWORD: ''
DB_HOST: db
+ DB_PORT: 5432
SECRET_KEY: secret_key
diff --git a/import.py b/import.py
index e446c7f..7d0086a 100644
--- a/import.py
+++ b/import.py
@@ -26,16 +26,16 @@ def patched_save(self, *args, **kwargs):
home_page = HomePage.objects.live()[0]
-index_page_type = ContentType.objects.get(app_label='translations', model='TranslationIndexPage')
+index_page_type = ContentType.objects.get(app_label='translations', model='translationindexpage')
index_page = TranslationIndexPage(id=253, intro='', title='Переводы', slug='w', content_type=index_page_type)
home_page.add_child(instance=index_page)
index_page.save_revision().publish()
-json_path = '/work/books_lw_dump.json'
+json_path = 'books_lw_dump.json'
BookImporter(json_path).run()
-json_path = '/work/translations_lw_dump.json'
+json_path = 'translations_lw_dump.json'
TranslationPageImporter(json_path).run()
-csv_path = '/work/users.csv'
-UsersImporter(csv_path).run()
+# csv_path = 'users.csv'
+# UsersImporter(csv_path).run()
diff --git a/lw/core/settings/base.py b/lw/core/settings/base.py
index de10633..34d1f0f 100644
--- a/lw/core/settings/base.py
+++ b/lw/core/settings/base.py
@@ -26,13 +26,15 @@
INSTALLED_APPS = [
'lw.core',
'lw.home',
- 'lw.search',
'lw.translations',
'wagtailmedia',
'wagtail.contrib.forms',
'wagtail.contrib.redirects',
+ 'wagtail.contrib.modeladmin',
+ 'wagtail.contrib.postgres_search',
+ 'wagtail.contrib.search_promotions',
'wagtail.embeds',
'wagtail.sites',
'wagtail.users',
@@ -42,7 +44,6 @@
'wagtail.search',
'wagtail.admin',
'wagtail.core',
- 'wagtail.contrib.modeladmin',
'wagtailmenus',
'modelcluster',
@@ -122,11 +123,12 @@
DATABASES = {
'default': {
- 'ENGINE': 'django.db.backends.mysql',
+ 'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ.get('DB_NAME', 'oops'), # 'oops' is to avoid failure when we start dev_sqlite
'USER': os.environ.get('DB_USER', 'oops'),
'PASSWORD': os.environ.get('DB_PASSWORD', 'oops'),
'HOST': os.environ.get('DB_HOST', 'oops'),
+ 'PORT': os.environ.get('DB_PORT', 'oops')
}
}
@@ -228,3 +230,11 @@
ACCOUNT_LOGIN_ON_PASSWORD_RESET = True
ACCOUNT_LOGOUT_REDIRECT_URL = '/'
ACCOUNT_EMAIL_VERIFICATION = None
+
+WAGTAILSEARCH_BACKENDS = {
+ 'default': {
+ 'BACKEND': 'wagtail.contrib.postgres_search.backend',
+ 'ATOMIC_REBUILD': True,
+ 'SEARCH_CONFIG': 'russian',
+ },
+}
diff --git a/lw/core/urls.py b/lw/core/urls.py
index f495e8f..f874b28 100644
--- a/lw/core/urls.py
+++ b/lw/core/urls.py
@@ -6,24 +6,14 @@
from wagtail.core import urls as wagtail_urls
from wagtail.documents import urls as wagtaildocs_urls
-from lw.search import views as search_views
from . import views
urlpatterns = [
path('django-admin/', admin.site.urls),
-
path('admin/', include(wagtailadmin_urls)),
path('documents/', include(wagtaildocs_urls)),
-
- path('search/', search_views.search, name='search'),
-
- # path('user/logout/', views.logout_view),
-
path('', include('allauth.urls')),
-
- # For anything not caught by a more specific rule above, hand over to
- # Wagtail's page serving mechanism. This should be the last pattern in
- # the list:
+ path('', include('lw.translations.urls')),
path('', include(wagtail_urls)),
]
diff --git a/lw/home/jinja2/home/sidebar_content.html b/lw/home/jinja2/home/sidebar_content.html
index 1508912..f2c4740 100644
--- a/lw/home/jinja2/home/sidebar_content.html
+++ b/lw/home/jinja2/home/sidebar_content.html
@@ -1,3 +1,6 @@
-Поиск
+