diff --git a/.env.prod b/.env.prod index 9e753b3..6215d48 100644 --- a/.env.prod +++ b/.env.prod @@ -1,6 +1,5 @@ DEBUG=False ENVIRONMENT=production -DJANGO_ENVIRONMENT=production DJANGO_SETTINGS_MODULE=dbapp.settings.production SECRET_KEY=django-insecure-dev-key-only-for-production diff --git a/dbapp/dbapp/celery.py b/dbapp/dbapp/celery.py index 73e830d..f423701 100644 --- a/dbapp/dbapp/celery.py +++ b/dbapp/dbapp/celery.py @@ -4,18 +4,12 @@ Celery configuration for dbapp project. import os from celery import Celery -# Use the environment variable to determine the settings module os.environ.setdefault('DJANGO_SETTINGS_MODULE', os.getenv('DJANGO_SETTINGS_MODULE', 'dbapp.settings.development')) app = Celery('dbapp') -# Using a string here means the worker doesn't have to serialize -# the configuration object to child processes. -# - namespace='CELERY' means all celery-related configuration keys -# should have a `CELERY_` prefix. app.config_from_object('django.conf:settings', namespace='CELERY') -# Load task modules from all registered Django apps. app.autodiscover_tasks() diff --git a/dbapp/dbapp/settings/production.py b/dbapp/dbapp/settings/production.py index fa3fde5..ee79320 100644 --- a/dbapp/dbapp/settings/production.py +++ b/dbapp/dbapp/settings/production.py @@ -57,7 +57,7 @@ TEMPLATES = [ "DIRS": [ BASE_DIR / "templates", ], - "APP_DIRS": False, # Must be False when using custom loaders + "APP_DIRS": False, "OPTIONS": { "context_processors": [ "django.template.context_processors.debug", @@ -88,6 +88,13 @@ STATICFILES_STORAGE = "django.contrib.staticfiles.storage.ManifestStaticFilesSto # ============================================================================ # LOGGING CONFIGURATION # ============================================================================ +LOGS_DIR = BASE_DIR.parent / "logs" +LOGS_DIR.mkdir(parents=True, exist_ok=True) + +# ============================================================================ +# CELERY LOGGING CONFIGURATION +# ============================================================================ +CELERY_WORKER_HIJACK_ROOT_LOGGER = False LOGGING = { "version": 1, @@ -116,7 +123,13 @@ LOGGING = { "file": { "level": "ERROR", "class": "logging.FileHandler", - "filename": BASE_DIR.parent / "logs" / "django_errors.log", + "filename": LOGS_DIR / "django_errors.log", + "formatter": "verbose", + }, + "celery_file": { + "level": "INFO", + "class": "logging.FileHandler", + "filename": LOGS_DIR / "celery.log", "formatter": "verbose", }, "mail_admins": { @@ -137,5 +150,15 @@ LOGGING = { "level": "ERROR", "propagate": False, }, + "celery": { + "handlers": ["console", "celery_file"], + "level": "INFO", + "propagate": False, + }, + "celery.task": { + "handlers": ["console", "celery_file"], + "level": "INFO", + "propagate": False, + }, }, } diff --git a/dbapp/entrypoint.sh b/dbapp/entrypoint.sh index 1397f93..223577b 100644 --- a/dbapp/entrypoint.sh +++ b/dbapp/entrypoint.sh @@ -6,7 +6,13 @@ ENVIRONMENT=${ENVIRONMENT:-production} echo "Starting in $ENVIRONMENT mode..." -# Ждем PostgreSQL +if [ -d "logs" ]; then + echo "Directory logs already exists." +else + echo "Creating logs directory..." + mkdir -p logs +fi + echo "Waiting for PostgreSQL..." until PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -c '\q' 2>/dev/null; do echo "PostgreSQL is unavailable - sleeping" @@ -14,17 +20,14 @@ until PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -c done echo "PostgreSQL started" -# Выполняем миграции echo "Running migrations..." uv run python manage.py migrate --noinput -# Собираем статику (только для production) if [ "$ENVIRONMENT" = "production" ]; then echo "Collecting static files..." uv run python manage.py collectstatic --noinput fi -# Запускаем сервер в зависимости от окружения if [ "$ENVIRONMENT" = "development" ]; then echo "Starting Django development server..." exec uv run python manage.py runserver 0.0.0.0:8000 diff --git a/dbapp/transponders.json b/dbapp/transponders.json deleted file mode 100644 index 7e1d90f..0000000 --- a/dbapp/transponders.json +++ /dev/null @@ -1,1658 +0,0 @@ -{ - "satellites": { - "intelsat 39": { - "Europe": [ - { - "name": "1 - Верт", - "freq": ["10709-10781"], - "pol": "Вертикальная" - }, - { - "name": "2 - Гор", - "freq": ["10709-10781"], - "pol": "Горизонтальная" - }, - { - "name": "3 - Верт", - "freq": ["10789-10861"], - "pol": "Вертикальная" - }, - { - "name": "4 - Гор", - "freq": ["10789-10861"], - "pol": "Горизонтальная" - }, - { - "name": "5 - Верт", - "freq": ["10869-10941"], - "pol": "Вертикальная" - }, - { - "name": "6 - Гор", - "freq": ["10869-10941"], - "pol": "Горизонтальная" - }, - { - "name": "7 - Верт", - "freq": ["11209-11281"], - "pol": "Вертикальная" - }, - { - "name": "8 - Гор", - "freq": ["11209-11281"], - "pol": "Горизонтальная" - }, - { - "name": "9 - Верт", - "freq": ["11289-11361"], - "pol": "Вертикальная" - }, - { - "name": "10 - Гор", - "freq": ["11289-11361"], - "pol": "Горизонтальная" - }, - { - "name": "11 - Верт", - "freq": ["11369-11441"], - "pol": "Вертикальная" - }, - { - "name": "12 - Гор", - "freq": ["11369-11441"], - "pol": "Горизонтальная" - }, - { - "name": "13 - Гор", - "freq": ["11459-11531"], - "pol": "Горизонтальная" - }, - { - "name": "14 - Гор", - "freq": ["11539-11575"], - "pol": "Горизонтальная" - }, - { - "name": "15 - Гор", - "freq": ["11579-11615"], - "pol": "Горизонтальная" - }, - { - "name": "16 - Гор", - "freq": ["11619-11655"], - "pol": "Горизонтальная" - }, - { - "name": "17 - Гор", - "freq": ["11659-11695"], - "pol": "Горизонтальная" - } - ], - "Middle East/Europe": [ - { - "name": "18 - Верт", - "freq": ["10959-11031"], - "pol": "Вертикальная" - }, - { - "name": "19 - Гор", - "freq": ["10959-11031"], - "pol": "Горизонтальная" - }, - { - "name": "20 - Верт", - "freq": ["11039-11111"], - "pol": "Вертикальная" - }, - { - "name": "21 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "22 - Верт", - "freq": ["11119-11191"], - "pol": "Вертикальная" - }, - { - "name": "23 - Гор", - "freq": ["11119-11191"], - "pol": "Горизонтальная" - } - ], - "Middle East": [ - { - "name": "24 - Верт", - "freq": ["11459-11531"], - "pol": "Вертикальная" - }, - { - "name": "25 - Верт", - "freq": ["11539-11575"], - "pol": "Вертикальная" - }, - { - "name": "26 - Верт", - "freq": ["11579-11615"], - "pol": "Вертикальная" - }, - { - "name": "27 - Верт", - "freq": ["11619-11655"], - "pol": "Вертикальная" - }, - { - "name": "28 - Верт", - "freq": ["11659-11695"], - "pol": "Вертикальная" - } - ], - "Democratic Replubic of Congo": [ - { - "name": "29 - Верт", - "freq": ["10959-11031"], - "pol": "Вертикальная" - }, - { - "name": "30 - Гор", - "freq": ["10959-11031"], - "pol": "Горизонтальная" - }, - { - "name": "31 - Верт", - "freq": ["11039-11111"], - "pol": "Вертикальная" - }, - { - "name": "32 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "33 - Верт", - "freq": ["11119-11191"], - "pol": "Вертикальная" - }, - { - "name": "34 - Гор", - "freq": ["11119-11191"], - "pol": "Горизонтальная" - } - ], - "Steerable 1": [ - { - "name": "35 - Гор", - "freq": ["10709-10781"], - "pol": "Горизонтальная" - }, - { - "name": "36 - Гор", - "freq": ["10789-10861"], - "pol": "Горизонтальная" - }, - { - "name": "37 - Гор", - "freq": ["10869-10941"], - "pol": "Горизонтальная" - }, - { - "name": "38 - Гор", - "freq": ["10959-11031"], - "pol": "Горизонтальная" - }, - { - "name": "39 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "40 - Гор", - "freq": ["11119-11191"], - "pol": "Горизонтальная" - }, - { - "name": "41 - Гор", - "freq": ["11209-11281"], - "pol": "Горизонтальная" - }, - { - "name": "42 - Гор", - "freq": ["11289-11361"], - "pol": "Горизонтальная" - }, - { - "name": "43 - Гор", - "freq": ["11369-11441"], - "pol": "Горизонтальная" - }, - { - "name": "44 - Гор", - "freq": ["11459-11531"], - "pol": "Горизонтальная" - }, - { - "name": "45 - Гор", - "freq": ["11539-11691"], - "pol": "Горизонтальная" - }, - { - "name": "46 - Гор", - "freq": ["12509-12581"], - "pol": "Горизонтальная" - }, - { - "name": "47 - Гор", - "freq": ["12589-12661"], - "pol": "Горизонтальная" - }, - { - "name": "48 - Гор", - "freq": ["12669-12741"], - "pol": "Горизонтальная" - } - ], - "Steerable 1/Steerable 2": [ - { - "name": "49 - Верт", - "freq": ["10959-11031"], - "pol": "Вертикальная" - }, - { - "name": "50 - Верт", - "freq": ["11039-11111"], - "pol": "Вертикальная" - }, - { - "name": "51 - Верт", - "freq": ["11119-11191"], - "pol": "Вертикальная" - } - ], - "Steerable 2": [ - { - "name": "52 - Верт", - "freq": ["10709-10781"], - "pol": "Вертикальная" - }, - { - "name": "53 - Верт", - "freq": ["10789-10861"], - "pol": "Вертикальная" - }, - { - "name": "54 - Верт", - "freq": ["10869-10941"], - "pol": "Вертикальная" - }, - { - "name": "55 - Верт", - "freq": ["11119-11191"], - "pol": "Вертикальная" - }, - { - "name": "56 - Верт", - "freq": ["11209-11281"], - "pol": "Вертикальная" - }, - { - "name": "57 - Верт", - "freq": ["11289-11361"], - "pol": "Вертикальная" - }, - { - "name": "58 - Верт", - "freq": ["11369-11441"], - "pol": "Вертикальная" - }, - { - "name": "59 - Верт", - "freq": ["11459-11531"], - "pol": "Вертикальная" - }, - { - "name": "60 - Верт", - "freq": ["11539-11691"], - "pol": "Вертикальная" - }, - { - "name": "61 - Верт", - "freq": ["12259-12331"], - "pol": "Вертикальная" - }, - { - "name": "62 - Верт", - "freq": ["12339-12411"], - "pol": "Вертикальная" - }, - { - "name": "63 - Верт", - "freq": ["12419-12491"], - "pol": "Вертикальная" - }, - { - "name": "64 - Верт", - "freq": ["12509-12581"], - "pol": "Вертикальная" - }, - { - "name": "65 - Верт", - "freq": ["12589-12661"], - "pol": "Вертикальная" - }, - { - "name": "66 - Верт", - "freq": ["12669-12741"], - "pol": "Вертикальная" - } - ], - "Steerable 3": [ - { - "name": "67 - Верт", - "freq": ["10959-11031"], - "pol": "Вертикальная" - }, - { - "name": "68 - Верт", - "freq": ["11039-11111"], - "pol": "Вертикальная" - }, - { - "name": "69 - Верт", - "freq": ["11119-11191"], - "pol": "Вертикальная" - }, - { - "name": "70 - Верт", - "freq": ["11369-11441"], - "pol": "Вертикальная" - }, - { - "name": "71 - Верт", - "freq": ["11459-11531"], - "pol": "Вертикальная" - }, - { - "name": "72 - Верт", - "freq": ["11539-11691"], - "pol": "Вертикальная" - } - ] - }, - "astra 4a": { - "Europe": [ - { - "name": "1 - Гор", - "freq": ["11749.34-11782.34"], - "pol": "Горизонтальная" - }, - { - "name": "2 - Гор", - "freq": ["12056.22-12089.22"], - "pol": "Горизонтальная" - }, - { - "name": "3 - Гор", - "freq": ["12094.58-12127.58"], - "pol": "Горизонтальная" - }, - { - "name": "4 - Гор", - "freq": ["12135.94-12168.94"], - "pol": "Горизонтальная" - }, - { - "name": "5 - Гор", - "freq": ["12248.02-12281.02"], - "pol": "Горизонтальная" - }, - { - "name": "6 - Гор", - "freq": ["12286.38-12319.38"], - "pol": "Горизонтальная" - }, - { - "name": "7 - Гор", - "freq": ["12363.1-12396.1"], - "pol": "Горизонтальная" - }, - { - "name": "8 - Верт", - "freq": ["12113.76-12146.76"], - "pol": "Вертикальная" - }, - { - "name": "9 - Верт", - "freq": ["12152.12-12185.12"], - "pol": "Вертикальная" - }, - { - "name": "10 - Верт", - "freq": ["12190.48-12223.48"], - "pol": "Вертикальная" - }, - { - "name": "11 - Верт", - "freq": ["12228.84-12261.84"], - "pol": "Вертикальная" - }, - { - "name": "12 - Верт", - "freq": ["12267.2-12300.2"], - "pol": "Вертикальная" - }, - { - "name": "13 - Верт", - "freq": ["12305.56-12338.56"], - "pol": "Вертикальная" - }, - { - "name": "14 - Верт", - "freq": ["12343.92-12376.92"], - "pol": "Вертикальная" - } - ], - "Nordic Beam": [ - { - "name": "15 - Гор", - "freq": ["11787.7-11820.7"], - "pol": "Горизонтальная" - }, - { - "name": "16 - Гор", - "freq": ["11826.06-11859.06"], - "pol": "Горизонтальная" - }, - { - "name": "17 - Гор", - "freq": ["11864.42-11897.42"], - "pol": "Горизонтальная" - }, - { - "name": "18 - Гор", - "freq": ["11902.78-11935.78"], - "pol": "Горизонтальная" - }, - { - "name": "19 - Гор", - "freq": ["11941.14-11974.14"], - "pol": "Горизонтальная" - }, - { - "name": "20 - Гор", - "freq": ["11979.5-12012.5"], - "pol": "Горизонтальная" - }, - { - "name": "21 - Гор", - "freq": ["12017.68-12050.86"], - "pol": "Горизонтальная" - }, - { - "name": "22 - Верт", - "freq": ["11768.52-11801.52"], - "pol": "Вертикальная" - }, - { - "name": "23 - Верт", - "freq": ["11806.88-11839.88"], - "pol": "Вертикальная" - }, - { - "name": "24 - Верт", - "freq": ["11883.6-11916.6"], - "pol": "Вертикальная" - }, - { - "name": "25 - Верт", - "freq": ["11921.96-11954.96"], - "pol": "Вертикальная" - }, - { - "name": "26 - Верт", - "freq": ["11960.32-11993.32"], - "pol": "Вертикальная" - }, - { - "name": "27 - Верт", - "freq": ["11998.68-12031.68"], - "pol": "Вертикальная" - }, - { - "name": "28 - Верт", - "freq": ["12037.04-12070.04"], - "pol": "Вертикальная" - } - ], - "Europe or Nordic beam": [ - { - "name": "29 - Гор", - "freq": ["11710.98-11743.98"], - "pol": "Горизонтальная" - }, - { - "name": "30 - Гор", - "freq": ["12171.3-12204.3"], - "pol": "Горизонтальная" - }, - { - "name": "31 - Гор", - "freq": ["12209.66-12242.66"], - "pol": "Горизонтальная" - }, - { - "name": "32 - Гор", - "freq": ["12324.74-12357.74"], - "pol": "Горизонтальная" - }, - { - "name": "33 - Гор", - "freq": ["12401.46-12434.43"], - "pol": "Горизонтальная" - }, - { - "name": "34 - Гор", - "freq": ["12439.82-12472.82"], - "pol": "Горизонтальная" - }, - { - "name": "35 - Гор", - "freq": ["12511.0-12583.0"], - "pol": "Горизонтальная" - }, - { - "name": "36 - Гор", - "freq": ["12589-12661"], - "pol": "Горизонтальная" - }, - { - "name": "37 - Гор", - "freq": ["12667-12739"], - "pol": "Горизонтальная" - }, - { - "name": "38 - Верт", - "freq": ["11730.16-11763.16"], - "pol": "Вертикальная" - }, - { - "name": "39 - Верт", - "freq": ["11845.24-11878.24"], - "pol": "Вертикальная" - }, - { - "name": "40 - Верт", - "freq": ["12075.4-12108.4"], - "pol": "Вертикальная" - }, - { - "name": "41 - Верт", - "freq": ["12382.28-12415.28"], - "pol": "Вертикальная" - }, - { - "name": "42 - Верт", - "freq": ["12420.64-12453.64"], - "pol": "Вертикальная" - }, - { - "name": "43 - Верт", - "freq": ["12459-12492"], - "pol": "Вертикальная" - }, - { - "name": "44 - Верт", - "freq": ["12511-12583"], - "pol": "Вертикальная" - }, - { - "name": "45 - Верт", - "freq": ["12589-12661"], - "pol": "Вертикальная" - }, - { - "name": "46 - Верт", - "freq": ["12667-12739"], - "pol": "Вертикальная" - } - ], - "Africa": [ - { - "name": "47 - Верт", - "freq": ["12507-12543"], - "pol": "Вертикальная" - }, - { - "name": "48 - Верт", - "freq": ["12547-12583"], - "pol": "Вертикальная" - }, - { - "name": "49 - Верт", - "freq": ["12587-12623"], - "pol": "Вертикальная" - }, - { - "name": "50 - Верт", - "freq": ["12627-12663"], - "pol": "Вертикальная" - }, - { - "name": "51 - Верт", - "freq": ["12667-12703"], - "pol": "Вертикальная" - }, - { - "name": "52 - Верт", - "freq": ["12707-12743"], - "pol": "Вертикальная" - } - ] - }, - "nss 12": { - "Central Asia": [ - { - "name": "1 - Гор", - "freq": ["10958-11012"], - "pol": "Горизонтальная" - }, - { - "name": "2 - Гор", - "freq": ["11018-11072"], - "pol": "Горизонтальная" - }, - { - "name": "3 - Гор", - "freq": ["11078-11132"], - "pol": "Горизонтальная" - }, - { - "name": "4 - Гор", - "freq": ["11138-11192"], - "pol": "Горизонтальная" - }, - { - "name": "5 - Гор", - "freq": ["11458-11512"], - "pol": "Горизонтальная" - }, - { - "name": "6 - Гор", - "freq": ["11518-11572"], - "pol": "Горизонтальная" - }, - { - "name": "7 - Гор", - "freq": ["11578-11632"], - "pol": "Горизонтальная" - }, - { - "name": "8 - Гор", - "freq": ["11638-11692"], - "pol": "Горизонтальная" - }, - { - "name": "9 - Верт", - "freq": ["12510-12546"], - "pol": "Вертикальная" - }, - { - "name": "10 - Верт", - "freq": ["12550-12586"], - "pol": "Вертикальная" - }, - { - "name": "11 - Верт", - "freq": ["12590-12626"], - "pol": "Вертикальная" - }, - { - "name": "12 - Верт", - "freq": ["12630-12666"], - "pol": "Вертикальная" - }, - { - "name": "13 - Верт", - "freq": ["12670-12706"], - "pol": "Вертикальная" - }, - { - "name": "11 - Верт", - "freq": ["12710-12746"], - "pol": "Вертикальная" - } - ], - "South Asia": [ - { - "name": "12 - Верт", - "freq": ["11458-11512"], - "pol": "Вертикальная" - }, - { - "name": "13 - Верт", - "freq": ["11518-11572"], - "pol": "Вертикальная" - }, - { - "name": "14 - Верт", - "freq": ["11578-11632"], - "pol": "Вертикальная" - }, - { - "name": "15 - Верт", - "freq": ["11638-11692"], - "pol": "Вертикальная" - }, - { - "name": "16 - Верт", - "freq": ["12259-12295"], - "pol": "Вертикальная" - }, - { - "name": "17 - Верт", - "freq": ["12299-12335"], - "pol": "Вертикальная" - }, - { - "name": "18 - Верт", - "freq": ["12339-12375"], - "pol": "Вертикальная" - }, - { - "name": "19 - Верт", - "freq": ["12379-12415"], - "pol": "Вертикальная" - }, - { - "name": "20 - Верт", - "freq": ["12419-12455"], - "pol": "Вертикальная" - }, - { - "name": "21 - Верт", - "freq": ["12459-12495"], - "pol": "Вертикальная" - }, - { - "name": "22 - Верт", - "freq": ["12510-12546"], - "pol": "Вертикальная" - }, - { - "name": "23 - Верт", - "freq": ["12550-12586"], - "pol": "Вертикальная" - }, - { - "name": "24 - Верт", - "freq": ["12590-12626"], - "pol": "Вертикальная" - }, - { - "name": "25 - Верт", - "freq": ["12630-12666"], - "pol": "Вертикальная" - }, - { - "name": "26 - Верт", - "freq": ["12670-12706"], - "pol": "Вертикальная" - }, - { - "name": "27 - Верт", - "freq": ["12710-12746"], - "pol": "Вертикальная" - } - ], - "East Africa": [ - { - "name": "28 - Гор", - "freq": ["10958-11012"], - "pol": "Горизонтальная" - }, - { - "name": "29 - Гор", - "freq": ["11018-11072"], - "pol": "Горизонтальная" - }, - { - "name": "30 - Гор", - "freq": ["11078-11132"], - "pol": "Горизонтальная" - }, - { - "name": "31 - Гор", - "freq": ["11138-11192"], - "pol": "Горизонтальная" - }, - { - "name": "32 - Гор", - "freq": ["11458-11512"], - "pol": "Горизонтальная" - }, - { - "name": "33 - Гор", - "freq": ["11518-11572"], - "pol": "Горизонтальная" - }, - { - "name": "34 - Гор", - "freq": ["11578-11632"], - "pol": "Горизонтальная" - }, - { - "name": "35 - Гор", - "freq": ["11638-11692"], - "pol": "Горизонтальная" - } - ], - " Middle East/Europe": [ - { - "name": "36 - Верт", - "freq": ["10958-11012"], - "pol": "Вертикальная" - }, - { - "name": "37 - Верт", - "freq": ["11018-11072"], - "pol": "Вертикальная" - }, - { - "name": "38 - Верт", - "freq": ["11078-11132"], - "pol": "Вертикальная" - }, - { - "name": "39 - Верт", - "freq": ["11138-11192"], - "pol": "Вертикальная" - }, - { - "name": "40 - Верт", - "freq": ["11458-11512"], - "pol": "Вертикальная" - }, - { - "name": "41 - Верт", - "freq": ["11518-11572"], - "pol": "Вертикальная" - }, - { - "name": "42 - Верт", - "freq": ["11578-11632"], - "pol": "Вертикальная" - }, - { - "name": "43 - Верт", - "freq": ["11638-11692"], - "pol": "Вертикальная" - }, - { - "name": "44 - Гор", - "freq": ["12510-12546"], - "pol": "Горизонтальная" - }, - { - "name": "45 - Гор", - "freq": ["12550-12586"], - "pol": "Горизонтальная" - }, - { - "name": "46 - Гор", - "freq": ["12590-12626"], - "pol": "Горизонтальная" - }, - { - "name": "47 - Гор", - "freq": ["12630-12666"], - "pol": "Горизонтальная" - }, - { - "name": "48 - Гор", - "freq": ["12670-12706"], - "pol": "Горизонтальная" - }, - { - "name": "49 - Гор", - "freq": ["12710-12746"], - "pol": "Горизонтальная" - } - ] - }, - "eutelsat 7b": { - "Europe A or Europe B": [ - { - "name": "1 - Гор", - "freq": ["10702.75-10738.75"], - "pol": "Горизонтальная" - }, - { - "name": "2 - Гор", - "freq": ["10744.25-10780.25"], - "pol": "Горизонтальная" - }, - { - "name": "3 - Гор", - "freq": ["10785.75-10821.75"], - "pol": "Горизонтальная" - }, - { - "name": "4 - Гор", - "freq": ["10827.25-10863.25"], - "pol": "Горизонтальная" - }, - { - "name": "5 - Гор", - "freq": ["10868.75-10904.75"], - "pol": "Горизонтальная" - }, - { - "name": "6 - Гор", - "freq": ["10910.5-10946.5"], - "pol": "Горизонтальная" - }, - { - "name": "7 - Гор", - "freq": ["10955.67-11027.67"], - "pol": "Горизонтальная" - }, - { - "name": "8 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "9 - Гор", - "freq": ["11122.33-11194.33"], - "pol": "Горизонтальная" - }, - { - "name": "10 - Верт", - "freq": ["10955.67-11027.67"], - "pol": "Вертикальная" - }, - { - "name": "11 - Верт", - "freq": ["11039-11111"], - "pol": "Вертикальная" - }, - { - "name": "12 - Верт", - "freq": ["11122.33-11194.33"], - "pol": "Вертикальная" - }, - { - "name": "13 - Гор", - "freq": ["11202.75-11238.75"], - "pol": "Горизонтальная" - }, - { - "name": "14 - Гор", - "freq": ["11244.25-11280.25"], - "pol": "Горизонтальная" - }, - { - "name": "15 - Гор", - "freq": ["11285.75-11321.75"], - "pol": "Горизонтальная" - }, - { - "name": "16 - Гор", - "freq": ["11327.25-11363.25"], - "pol": "Горизонтальная" - }, - { - "name": "17 - Гор", - "freq": ["11368.75-11404.75"], - "pol": "Горизонтальная" - }, - { - "name": "18 - Гор", - "freq": ["11410.25-11446.25"], - "pol": "Горизонтальная" - }, - { - "name": "19 - Гор", - "freq": ["11452.75-11488.75"], - "pol": "Горизонтальная" - }, - { - "name": "20 - Гор", - "freq": ["11497.25-11533.25"], - "pol": "Горизонтальная" - }, - { - "name": "21 - Гор", - "freq": ["11535.75-11571.75"], - "pol": "Горизонтальная" - }, - { - "name": "22 - Гор", - "freq": ["11577.25-11613.25"], - "pol": "Горизонтальная" - }, - { - "name": "23 - Гор", - "freq": ["11618.75-11654.75"], - "pol": "Горизонтальная" - }, - { - "name": "24 - Гор", - "freq": ["11669.25-11705.25"], - "pol": "Горизонтальная" - }, - { - "name": "25 - Верт", - "freq": ["11452.75-11488.75"], - "pol": "Вертикальная" - }, - { - "name": "26 - Верт", - "freq": ["11497.25-11533.25"], - "pol": "Вертикальная" - }, - { - "name": "27 - Верт", - "freq": ["11535.75-11571.75"], - "pol": "Вертикальная" - }, - { - "name": "28 - Верт", - "freq": ["11577.25-11613.25"], - "pol": "Вертикальная" - }, - { - "name": "29 - Верт", - "freq": ["11618.75-11654.75"], - "pol": "Вертикальная" - }, - { - "name": "30 - Верт", - "freq": ["11669.25-11705.25"], - "pol": "Вертикальная" - }, - { - "name": "31 - Верт", - "freq": ["11204.25-11258.25"], - "pol": "Вертикальная" - }, - { - "name": "32 - Верт", - "freq": ["11265-11301"], - "pol": "Вертикальная" - }, - { - "name": "33 - Верт", - "freq": ["11306.5-11342.5"], - "pol": "Вертикальная" - }, - { - "name": "34 - Верт", - "freq": ["11348-11384"], - "pol": "Вертикальная" - }, - { - "name": "35 - Верт", - "freq": ["11391.75-11445.75"], - "pol": "Вертикальная" - }, - { - "name": "36 - Верт", - "freq": ["11455.67-11527.67"], - "pol": "Вертикальная" - }, - { - "name": "37 - Верт", - "freq": ["11539-11611"], - "pol": "Вертикальная" - }, - { - "name": "38 - Верт", - "freq": ["11622.33-11694.3"], - "pol": "Вертикальная" - }, - { - "name": "39 - Гор", - "freq": ["11455.67-11527.67"], - "pol": "Горизонтальная" - }, - { - "name": "40 - Гор", - "freq": ["11539-11611"], - "pol": "Горизонтальная" - }, - { - "name": "41 - Гор", - "freq": ["11622.33-11694.3"], - "pol": "Горизонтальная" - }, - { - "name": "42 - Гор", - "freq": ["12505.67-12577.67"], - "pol": "Горизонтальная" - }, - { - "name": "43 - Гор", - "freq": ["12589-12661"], - "pol": "Горизонтальная" - }, - { - "name": "44 - Гор", - "freq": ["12672.33-12744.33"], - "pol": "Горизонтальная" - }, - { - "name": "45 - Верт", - "freq": ["12505.67-12577.67"], - "pol": "Вертикальная" - }, - { - "name": "46 - Верт", - "freq": ["12589-12661"], - "pol": "Вертикальная" - }, - { - "name": "47 - Верт", - "freq": ["12672.33-12744.33"], - "pol": "Вертикальная" - } - ], - "Sub-Sahara Africa or South East Africa": [ - { - "name": "48 - Гор", - "freq": ["10702.75-10738.75"], - "pol": "Горизонтальная" - }, - { - "name": "49 - Гор", - "freq": ["10744.25-10780.25"], - "pol": "Горизонтальная" - }, - { - "name": "50 - Гор", - "freq": ["10785.75-10821.75"], - "pol": "Горизонтальная" - }, - { - "name": "51 - Гор", - "freq": ["10827.25-10863.25"], - "pol": "Горизонтальная" - }, - { - "name": "52 - Гор", - "freq": ["10868.75-10904.75"], - "pol": "Горизонтальная" - }, - { - "name": "53 - Гор", - "freq": ["10910.5-10946.5"], - "pol": "Горизонтальная" - }, - { - "name": "54 - Гор", - "freq": ["10955.67-11027.67"], - "pol": "Горизонтальная" - }, - { - "name": "55 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "56 - Гор", - "freq": ["11122.33-11194.33"], - "pol": "Горизонтальная" - }, - { - "name": "57 - Гор", - "freq": ["11204.25-11258.25"], - "pol": "Горизонтальная" - }, - { - "name": "58 - Гор", - "freq": ["11266.75-11320.75"], - "pol": "Горизонтальная" - }, - { - "name": "59 - Гор", - "freq": ["11329.25-11383.25"], - "pol": "Горизонтальная" - }, - { - "name": "60 - Гор", - "freq": ["11391.75-11445.75"], - "pol": "Горизонтальная" - }, - { - "name": "61 - Гор", - "freq": ["11669.25-11705.25"], - "pol": "Горизонтальная" - }, - { - "name": "62 - Гор", - "freq": ["11204.25-11258.25"], - "pol": "Горизонтальная" - }, - { - "name": "63 - Гор", - "freq": ["11265-11301"], - "pol": "Горизонтальная" - }, - { - "name": "64 - Гор", - "freq": ["11306.5-11342.5"], - "pol": "Горизонтальная" - }, - { - "name": "65 - Гор", - "freq": ["11348-11384"], - "pol": "Горизонтальная" - }, - { - "name": "66 - Гор", - "freq": ["11391.75-11445.75"], - "pol": "Горизонтальная" - } - ], - "Sub-Sahara Africa": [ - { - "name": "67 - Гор", - "freq": ["12502.75-12538.75"], - "pol": "Горизонтальная" - }, - { - "name": "68 - Гор", - "freq": ["12544.25-12580.25"], - "pol": "Горизонтальная" - }, - { - "name": "69 - Гор", - "freq": ["12585.75-12621.75"], - "pol": "Горизонтальная" - }, - { - "name": "70 - Гор", - "freq": ["12627.25-12663.25"], - "pol": "Горизонтальная" - }, - { - "name": "71 - Гор", - "freq": ["12668.75-12704.75"], - "pol": "Горизонтальная" - }, - { - "name": "72 - Гор", - "freq": ["12710.25-12746.25"], - "pol": "Горизонтальная" - } - ] - }, - "eutelsat 16a": { - "Europe A or Europe B": [ - { - "name": "1 - Гор", - "freq": ["10702.75-10738.75"], - "pol": "Горизонтальная" - }, - { - "name": "2 - Гор", - "freq": ["10744.25-10780.25"], - "pol": "Горизонтальная" - }, - { - "name": "3 - Гор", - "freq": ["10785.75-10821.75"], - "pol": "Горизонтальная" - }, - { - "name": "4 - Гор", - "freq": ["10827.25-10863.25"], - "pol": "Горизонтальная" - }, - { - "name": "5 - Гор", - "freq": ["10868.75-10904.75"], - "pol": "Горизонтальная" - }, - { - "name": "6 - Гор", - "freq": ["10910.5-10946.5"], - "pol": "Горизонтальная" - }, - { - "name": "7 - Гор", - "freq": ["10955.67-11027.67"], - "pol": "Горизонтальная" - }, - { - "name": "8 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "9 - Гор", - "freq": ["11122.33-11194.33"], - "pol": "Горизонтальная" - }, - { - "name": "10 - Верт", - "freq": ["10955.67-11027.67"], - "pol": "Вертикальная" - }, - { - "name": "11 - Верт", - "freq": ["11039-11111"], - "pol": "Вертикальная" - }, - { - "name": "12 - Верт", - "freq": ["11122.33-11194.33"], - "pol": "Вертикальная" - }, - { - "name": "13 - Гор", - "freq": ["11202.75-11238.75"], - "pol": "Горизонтальная" - }, - { - "name": "14 - Гор", - "freq": ["11244.25-11280.25"], - "pol": "Горизонтальная" - }, - { - "name": "15 - Гор", - "freq": ["11285.75-11321.75"], - "pol": "Горизонтальная" - }, - { - "name": "16 - Гор", - "freq": ["11327.25-11363.25"], - "pol": "Горизонтальная" - }, - { - "name": "17 - Гор", - "freq": ["11368.75-11404.75"], - "pol": "Горизонтальная" - }, - { - "name": "18 - Гор", - "freq": ["11410.25-11446.25"], - "pol": "Горизонтальная" - }, - { - "name": "19 - Гор", - "freq": ["11452.75-11488.75"], - "pol": "Горизонтальная" - }, - { - "name": "20 - Гор", - "freq": ["11497.25-11533.25"], - "pol": "Горизонтальная" - }, - { - "name": "21 - Гор", - "freq": ["11535.75-11571.75"], - "pol": "Горизонтальная" - }, - { - "name": "22 - Гор", - "freq": ["11577.25-11613.25"], - "pol": "Горизонтальная" - }, - { - "name": "23 - Гор", - "freq": ["11618.75-11654.75"], - "pol": "Горизонтальная" - }, - { - "name": "24 - Гор", - "freq": ["11669.25-11705.25"], - "pol": "Горизонтальная" - }, - { - "name": "25 - Верт", - "freq": ["11452.75-11488.75"], - "pol": "Вертикальная" - }, - { - "name": "26 - Верт", - "freq": ["11497.25-11533.25"], - "pol": "Вертикальная" - }, - { - "name": "27 - Верт", - "freq": ["11535.75-11571.75"], - "pol": "Вертикальная" - }, - { - "name": "28 - Верт", - "freq": ["11577.25-11613.25"], - "pol": "Вертикальная" - }, - { - "name": "29 - Верт", - "freq": ["11618.75-11654.75"], - "pol": "Вертикальная" - }, - { - "name": "30 - Верт", - "freq": ["11669.25-11705.25"], - "pol": "Вертикальная" - }, - { - "name": "31 - Верт", - "freq": ["11204.25-11258.25"], - "pol": "Вертикальная" - }, - { - "name": "32 - Верт", - "freq": ["11265-11301"], - "pol": "Вертикальная" - }, - { - "name": "33 - Верт", - "freq": ["11306.5-11342.5"], - "pol": "Вертикальная" - }, - { - "name": "34 - Верт", - "freq": ["11348-11384"], - "pol": "Вертикальная" - }, - { - "name": "35 - Верт", - "freq": ["11391.75-11445.75"], - "pol": "Вертикальная" - }, - { - "name": "36 - Верт", - "freq": ["11455.67-11527.67"], - "pol": "Вертикальная" - }, - { - "name": "37 - Верт", - "freq": ["11539-11611"], - "pol": "Вертикальная" - }, - { - "name": "38 - Верт", - "freq": ["11622.33-11694.3"], - "pol": "Вертикальная" - }, - { - "name": "39 - Гор", - "freq": ["11455.67-11527.67"], - "pol": "Горизонтальная" - }, - { - "name": "40 - Гор", - "freq": ["11539-11611"], - "pol": "Горизонтальная" - }, - { - "name": "41 - Гор", - "freq": ["11622.33-11694.3"], - "pol": "Горизонтальная" - }, - { - "name": "42 - Гор", - "freq": ["12505.67-12577.67"], - "pol": "Горизонтальная" - }, - { - "name": "43 - Гор", - "freq": ["12589-12661"], - "pol": "Горизонтальная" - }, - { - "name": "44 - Гор", - "freq": ["12672.33-12744.33"], - "pol": "Горизонтальная" - }, - { - "name": "45 - Верт", - "freq": ["12505.67-12577.67"], - "pol": "Вертикальная" - }, - { - "name": "46 - Верт", - "freq": ["12589-12661"], - "pol": "Вертикальная" - }, - { - "name": "47 - Верт", - "freq": ["12672.33-12744.33"], - "pol": "Вертикальная" - } - ], - "Sub-Sahara Africa or South East Africa": [ - { - "name": "48 - Гор", - "freq": ["10702.75-10738.75"], - "pol": "Горизонтальная" - }, - { - "name": "49 - Гор", - "freq": ["10744.25-10780.25"], - "pol": "Горизонтальная" - }, - { - "name": "50 - Гор", - "freq": ["10785.75-10821.75"], - "pol": "Горизонтальная" - }, - { - "name": "51 - Гор", - "freq": ["10827.25-10863.25"], - "pol": "Горизонтальная" - }, - { - "name": "52 - Гор", - "freq": ["10868.75-10904.75"], - "pol": "Горизонтальная" - }, - { - "name": "53 - Гор", - "freq": ["10910.5-10946.5"], - "pol": "Горизонтальная" - }, - { - "name": "54 - Гор", - "freq": ["10955.67-11027.67"], - "pol": "Горизонтальная" - }, - { - "name": "55 - Гор", - "freq": ["11039-11111"], - "pol": "Горизонтальная" - }, - { - "name": "56 - Гор", - "freq": ["11122.33-11194.33"], - "pol": "Горизонтальная" - }, - { - "name": "57 - Гор", - "freq": ["11204.25-11258.25"], - "pol": "Горизонтальная" - }, - { - "name": "58 - Гор", - "freq": ["11266.75-11320.75"], - "pol": "Горизонтальная" - }, - { - "name": "59 - Гор", - "freq": ["11329.25-11383.25"], - "pol": "Горизонтальная" - }, - { - "name": "60 - Гор", - "freq": ["11391.75-11445.75"], - "pol": "Горизонтальная" - }, - { - "name": "61 - Гор", - "freq": ["11669.25-11705.25"], - "pol": "Горизонтальная" - }, - { - "name": "62 - Гор", - "freq": ["11204.25-11258.25"], - "pol": "Горизонтальная" - }, - { - "name": "63 - Гор", - "freq": ["11265-11301"], - "pol": "Горизонтальная" - }, - { - "name": "64 - Гор", - "freq": ["11306.5-11342.5"], - "pol": "Горизонтальная" - }, - { - "name": "65 - Гор", - "freq": ["11348-11384"], - "pol": "Горизонтальная" - }, - { - "name": "66 - Гор", - "freq": ["11391.75-11445.75"], - "pol": "Горизонтальная" - } - ], - "Sub-Sahara Africa": [ - { - "name": "67 - Гор", - "freq": ["12502.75-12538.75"], - "pol": "Горизонтальная" - }, - { - "name": "68 - Гор", - "freq": ["12544.25-12580.25"], - "pol": "Горизонтальная" - }, - { - "name": "69 - Гор", - "freq": ["12585.75-12621.75"], - "pol": "Горизонтальная" - }, - { - "name": "70 - Гор", - "freq": ["12627.25-12663.25"], - "pol": "Горизонтальная" - }, - { - "name": "71 - Гор", - "freq": ["12668.75-12704.75"], - "pol": "Горизонтальная" - }, - { - "name": "72 - Гор", - "freq": ["12710.25-12746.25"], - "pol": "Горизонтальная" - } - ] - } - } -} \ No newline at end of file diff --git a/docker-compose.prod.yaml b/docker-compose.prod.yaml index 8b27ac3..33945dd 100644 --- a/docker-compose.prod.yaml +++ b/docker-compose.prod.yaml @@ -9,6 +9,7 @@ services: - db volumes: - static_volume:/app/staticfiles + - ./logs:/app/logs expose: - 8000 @@ -18,12 +19,14 @@ services: dockerfile: Dockerfile env_file: - .env.prod - entrypoint: [] + #entrypoint: [] command: ["uv", "run", "celery", "-A", "dbapp", "worker", "--loglevel=INFO"] depends_on: - db - redis - web + volumes: + - ./logs:/app/logs redis: image: redis:7-alpine @@ -53,7 +56,6 @@ services: volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro - static_volume:/usr/share/nginx/html/static - # если у тебя медиа — можно замонтировать том media volumes: pgdata: