{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "M9K blog: заметки с тегом Lychee",
    "_rss_description": "Заметки обо всём: devops, lifestyle, культура.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/blog.m9k.space\/tags\/lychee\/",
    "feed_url": "https:\/\/blog.m9k.space\/tags\/lychee\/json\/",
    "icon": "https:\/\/blog.m9k.space\/pictures\/userpic\/userpic@2x.jpg?1769095194",
    "authors": [
        {
            "name": "M",
            "url": "https:\/\/blog.m9k.space\/",
            "avatar": "https:\/\/blog.m9k.space\/pictures\/userpic\/userpic@2x.jpg?1769095194"
        }
    ],
    "items": [
        {
            "id": "250",
            "url": "https:\/\/blog.m9k.space\/all\/migraciya-lychee-6-7-v-docker-lxc\/",
            "title": "Миграция Lychee 6 -> 7 в Docker (LXC)",
            "content_html": "<p>Развлекался намедни обновлением Lychee с миграцией с базового LXC-контейнера Debian 12 -> Debian 13<br \/>\nИсходно: <b>Lychee 6.10.3<\/b> в Debian 12 LXC. База — MariaDB 10.<br \/>\nДанные приложения находились в:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/lychee\/conf\n\/lychee\/uploads\n\/lychee\/sym\n\/lychee\/pictures\n\/lychee\/db<\/code><\/pre><p>Цель: обновить приложение и MariaDB  10->11<br \/>\nВ Lychee 7 изменилась структура каталогов внутри контейнера (см. <a href=\"https:\/\/lycheeorg.dev\/docs\/administration\/upgrade\/\">Update Guide<\/a>))<\/p>\n<p>Новая схема:<\/p>\n<pre class=\"e2-text-code\"><code class=\"yaml\">volumes:\n  - .\/lychee\/uploads:\/app\/public\/uploads\n  - .\/lychee\/logs:\/app\/storage\/logs\n  - .\/lychee\/tmp:\/app\/storage\/tmp\n  - .\/lychee\/storage\/app:\/app\/storage\/app<\/code><\/pre><p>База смонтирована в локальную директорию, но т. к. хочу поднять версию базы, делаем миграцию через дамп.<\/p>\n<pre class=\"e2-text-code\"><code class=\"bash\">docker exec lychee_db \\\n  mysqldump \\\n  -u root \\\n  -p&#039;PASSWORD&#039; \\\n  --single-transaction \\\n  lychee &gt; \/lychee\/lychee.sql<\/code><\/pre><p>Переносим всё другой сервер, восстанавливаем.<\/p>\n<h2>APP_KEY<\/h2>\n<p>В Lychee 7 обязателен `APP_KEY`. Без него контейнер завершается с ошибкой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ERROR: APP_KEY is not set<\/code><\/pre><p>Ключ можно сгенерировать:<\/p>\n<pre class=\"e2-text-code\"><code class=\"bash\">echo &quot;base64:$(openssl rand -base64 32)&quot;<\/code><\/pre><p>и передать контейнеру:<\/p>\n<pre class=\"e2-text-code\"><code class=\"yaml\">environment:\n  APP_KEY: &quot;base64:...&quot;<\/code><\/pre><h2>Восстановление базы<\/h2>\n<pre class=\"e2-text-code\"><code class=\"bash\">docker compose up -d lychee_db<\/code><\/pre><p>Восстанавливаем дамм.<\/p>\n<pre class=\"e2-text-code\"><code class=\"bash\">docker exec -i lychee_db \\\n  mariadb \\\n  -u root \\\n  -p&#039;PASSWORD&#039; \\\n  lychee &lt;lychee.sql<\/code><\/pre><p>В MariaDB 11 используется клиент `mariadb`, а не старое имя `mysql`.<\/p>\n<h2>Пересчёт статистики<\/h2>\n<p>После успешного запуска Lychee 7 стоит пересчитать размеры альбомов и thumbnails<\/p>\n<pre class=\"e2-text-code\"><code class=\"bash\">docker exec -it lychee php artisan lychee:recompute-album-sizes<\/code><\/pre><p>и статистику альбомов:<\/p>\n<pre class=\"e2-text-code\"><code class=\"bash\">docker exec -it lychee php artisan lychee:recompute-album-stats<\/code><\/pre><h2>Reverse proxy<\/h2>\n<p>После миграции при работе через Nginx возникала плавающая 502, причём выглядела она интересно — на одном и том же ПК веб-морда могла открывать в одном браузере, и не открывать в другом. В логах:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">upstream sent too big header while reading response header from upstream<\/code><\/pre><p>Проблема решилась увеличением proxy buffers:<\/p>\n<!-- Lychee Photo Album Embed v1.0.0 --><link rel=\"stylesheet\" href=\"https:\/\/lychee.m9k.space\/embed\/lychee-embed.css?v=1.0.0\">\n<script src=\"https:\/\/lychee.m9k.space\/embed\/lychee-embed.js?v=1.0.0\"><\/script>\n\n<div\n    data-lychee-embed\n    data-api-url=\"https:\/\/lychee.m9k.space\"\n    data-mode=\"album\"\n    data-album-id=\"Nym-osIiRs6lKn48wlXW9-zt\"\n    data-layout=\"square\"\n    data-spacing=\"8\"\n    data-target-row-height=\"200\"\n    data-target-column-width=\"200\"\n    data-max-photos=\"12\"\n    data-sort-order=\"asc\"\n    data-header-placement=\"none\"\n><\/div>",
            "summary": "Развлекался намедни обновлением Lychee с миграцией с базового LXC-контейнера Debian 12 -> Debian 13",
            "date_published": "2026-10-04T11:49:58+07:00",
            "date_modified": "2026-10-04T11:53:24+07:00",
            "tags": [
                "linux",
                "Lychee",
                "системное администрирование",
                "фотография"
            ],
            "_date_published_rfc2822": "Sun, 04 Oct 2026 11:49:58 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "250",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}