# Не удалось пересобрать Discourse: на устройстве недостаточно места

**URL:** https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774
**Category:** Self-hosting
**Created:** [02.Январь.2021 04:59:55 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774 "2021-01-02T04:59:55Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![seshu\_ram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/seshu_ram/32/140015_2.png) [@seshu\_ram](https://meta.discourse.org/u/seshu_ram)
#### Post date: [02.Январь.2021 04:59:55 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/1 "2021-01-02T04:59:55Z")

</div>

![image](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/b/6b84daebf3484dfe9dadfbebff8c537ce501e050.png)

При попытке выполнить операцию возникает вышеупомянутая ошибка. Я не понимаю, почему это происходит.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [02.Январь.2021 05:31:36 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/2 "2021-01-02T05:31:36Z")

</div>

Вы пробовали просто выполнить

```
./docker rebuild app

```

и посмотреть, что произойдет? Мне кажется, что сначала больше не требуется делать git pull.

В противном случае, похоже, вам нужно проверить файл app.conf. Вы недавно его редактировали?

---

<div class="post-metadata">

### Author: ![seshu\_ram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/seshu_ram/32/140015_2.png) [@seshu\_ram](https://meta.discourse.org/u/seshu_ram)
#### Post date: [02.Январь.2021 05:37:08 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/3 "2021-01-02T05:37:08Z")

</div>

> [@tobiaseigen](#):
>
> `./docker rebuild app`

![image](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/d/7/d7e1995458438d0b7d3700ce0a6cecc33bff94e7.png)

Нет, я не редактировал его недавно. Сайт упал вчера, я запустил очистку, а затем выполнил:  
`rm /var/discourse/shared/standalone/backups/default/*`  
Затем я выполнил пересборку с помощью `./launcher rebuild app`.

После этого сайт снова начал работать, но теперь он снова не работает.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [02.Январь.2021 05:38:32 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/4 "2021-01-02T05:38:32Z")

</div>

Извините, я имел в виду

```
./launcher rebuild app

```

Так что вы всё делаете правильно.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [02.Январь.2021 05:40:51 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/5 "2021-01-02T05:40:51Z")

</div>

Вы уже посмотрели [Discourse Doctor](https://meta.discourse.org/t/announcing-discourse-doctor/92991)?

---

<div class="post-metadata">

### Author: ![seshu\_ram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/seshu_ram/32/140015_2.png) [@seshu\_ram](https://meta.discourse.org/u/seshu_ram)
#### Post date: [02.Январь.2021 05:40:56 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/6 "2021-01-02T05:40:56Z")

</div>

![image](https://global.discourse-cdn.com/meta/original/3X/1/4/14d169c5ac83e8ff816bbeff09d92d26c9ae39fd.png)

Хорошо, значит, проблема в хранилище. Как мне сейчас освободить место? Извините, но я новичок.

Я только что запустил discourse-doctor, и мне вывели несколько строк с сообщением о том, что хранилище заполнено.

 ![image](https://global.discourse-cdn.com/meta/original/3X/2/e/2eb31896b2118322f514735427f8e66b7a33f00d.png)

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [02.Январь.2021 05:42:55 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/7 "2021-01-02T05:42:55Z")

</div>

Есть ли у вас что-то ещё на сервере? Если нет, то, вероятно, это резервные копии Discourse, которые можно удалить.

---

<div class="post-metadata">

### Author: ![seshu\_ram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/seshu_ram/32/140015_2.png) [@seshu\_ram](https://meta.discourse.org/u/seshu_ram)
#### Post date: [02.Январь.2021 05:44:51 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/8 "2021-01-02T05:44:51Z")

</div>

Можешь объяснить процесс удаления резервных копий, так как я никогда толком не понимал, как это делается. Хочу наконец-то разобраться, потому что у меня уже очень давно проблемы с местом на диске.

Нет, на сервере у меня ничего другого нет.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [02.Январь.2021 05:49:25 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/9 "2021-01-02T05:49:25Z")

</div>

Хороший первый шаг — запустить

```
./launcher cleanup 

```

Если это не поможет, попробуйте

```
./discourse-doctor

```

Если у вас всё ещё возникнут трудности, вы можете удалить старые резервные копии из

```
/var/discourse/shared/standalone/backups/default

```

Сообщите нам, как всё прошло!

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [02.Январь.2021 05:51:03 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/10 "2021-01-02T05:51:03Z")

</div>

Привет, @seshu_ram

Часто при пересборке контейнеров в системе остаются «осиротевшие» образы. Если вы часто пересобирали свой контейнер, эти образы могут занимать значительное место.

На самом деле, такие осиротевшие образы недавно занимали почти 100 ГБ и более на нашем сервере, пока я их не удалил. Вы можете легко это проверить.

Пожалуйста, опубликуйте вывод команды:

```plaintext
docker images

```

Пожалуйста, предоставьте вывод в виде текста (копирование и вставка) с использованием fenced markdown. Скриншоты терминала трудно читать на мобильных устройствах.

Спасибо.

Примечание:

Обратите внимание, что команда `launcher cleanup` также удаляет эти осиротевшие образы (на основе данных за последние 24 часа, насколько я помню):

```bash
if tty > /dev/null; then
      read -p "Хотите попытаться освободить место, очистив образы и контейнеры Docker в системе? (y/N)" -n 1 -r
      echo
      if [[$REPLY =~ ^[Yy]$ ]]
      then
        $docker_path container prune --force --filter until=1h > /dev/null
        $docker_path image prune --all --force --filter until=1h > /dev/null
        echo "Если очистка прошла успешно, вы можете попробовать снова"
      fi
    fi

```

---

<div class="post-metadata">

### Author: ![seshu\_ram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/seshu_ram/32/140015_2.png) [@seshu\_ram](https://meta.discourse.org/u/seshu_ram)
#### Post date: [02.Январь.2021 06:19:53 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/11 "2021-01-02T06:19:53Z")

</div>

> [@neounix](#):
>
> Пожалуйста, публикуйте вывод в виде текста (копирование и вставка) с использованием fenced markdown. Скриншоты терминала трудно читать на мобильных устройствах.

@neounix

```plaintext
REPOSITORY TAG IMAGE ID CREATED SIZE
local_discourse/app latest 674fd54f165f 4 minutes ago 2.5GB
<none> <none> f3a4104c3f75 22 hours ago 2.5GB
discourse/base 2.0.20201221-2020 c0704d4ce2b4 11 days ago 2.11GB

```

---

<div class="post-metadata">

### Author: ![seshu\_ram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/seshu_ram/32/140015_2.png) [@seshu\_ram](https://meta.discourse.org/u/seshu_ram)
#### Post date: [02.Январь.2021 06:20:47 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/12 "2021-01-02T06:20:47Z")

</div>

> [@tobiaseigen](#):
>
> Сообщите нам, как у вас всё получится!

У меня получилось. Мой сайт уже работает. Большое спасибо. Огромное спасибо за ваше время! Это очень помогло.

@tobiaseigen

---

<div class="post-metadata">

### Author: ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)
#### Post date: [02.Январь.2021 06:36:27 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/13 "2021-01-02T06:36:27Z")

</div>

Привет, @seshu_ram

К сведению и на всякий случай: вы можете удалить этот лишний образ и освободить немного места на диске:

```plaintext
 f3a4104c3f75   

```

```plaintext
docker image rm f3a4104c3f75  

```

Процесс очистки лаунчера (насколько я помню) не удаляет образы младше 24 часов.

Или вы можете запустить очистку снова через несколько часов, как вам удобно.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [10.Февраль.2022 21:06:56 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/14 "2022-02-10T21:06:56Z")

</div>

Одна вещь, которую я заметил: последние обновления Discourse через командную строку занимают довольно много места на диске..

```plaintext
root@endoffice-b:/var/discourse# ./launcher cleanup
ВНИМАНИЕ! Это удалит все остановленные контейнеры.
Вы уверены, что хотите продолжить? [y/N] Y
Восстановлено места: 0 Б
ВНИМАНИЕ! Это удалит все образы, у которых нет хотя бы одного связанного с ними контейнера.
Вы уверены, что хотите продолжить? [y/N] Y
Удалённые образы:
удалено: sha256:284403a252ba061b3ab97f4bfe293ac5e8f05f39ada429d718f58e56191251c2
удалено: sha256:6b6899d54d4dd1f21568956b652975f7c0b9e439978b8cc53036efc46baaf971
разметка снята: discourse/base:2.0.20211118-0105
разметка снята: discourse/base@sha256:74b41fffd4f05433eb7c9b72954b1f5f8b15cd0e802bb724c96b7d699c3f6fa1
удалено: sha256:b6cc7cf8974a6ef7bb64c36f4592af261cda0d5565bd91da603568ce26968048
удалено: sha256:c1455b2fdbca024c36c4e75746051b77c3637020cfa1e36a41440292a8c39424
удалено: sha256:77b323d4ec74aad770337f99a60e862a64ccc53f4775b5f4945df0e606f78b90
разметка снята: discourse/base:2.0.20220128-1817
разметка снята: discourse/base@sha256:dcb4eb8e41a2e84f776f80587f308d167a54ad7ff4ba616199891828bbd4ddae

Восстановлено места: 3.54 ГБ

```

Это произошло на обоих экземплярах, на другом было 3.538 ГБ 😉

Я обычно очень ответственно выполняю `./launcher cleanup` после каждого обновления Discourse и обновляюсь примерно раз в месяц, так что это говорит мне о том, что последнее обновление _само по себе_ заняло почти 4 ГБ места.. cc @falco @sam, стоит ли нам беспокоиться об этом? 🤔

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [11.Февраль.2022 04:44:32 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/15 "2022-02-11T04:44:32Z")

</div>

Кажется, это неизбежно: мы обновляли базовый образ два раза за последние несколько месяцев. Ничего не поделаешь. Похоже, очистка на вашем сервере освободила место для двух базовых образов.

---

<div class="post-metadata">

### Author: ![maiki](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/maiki/32/233950_2.png) [@maiki](https://meta.discourse.org/u/maiki)
#### Post date: [04.Апрель.2022 19:56:27 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/17 "2022-04-04T19:56:27Z")

</div>

> [@anon43908006](#):
>
> Какой самый простой способ пересобрать сервер Discourse и переустановить Let’s Encrypt?

@anon43908006, есть руководство по адресу:

> [@Change the domain name or rename your Discourse](https://meta.discourse.org/t/change-the-domain-name-or-rename-my-discourse/16098):
>
> bookmark This guide explains how-to change the domain name of your Discourse site, and includes information about setting up DNS changes, editing configuration files, updating site settings, and correcting social logins and post content to reflect your new domain name. warning This guide is for self-hosted Discourse instances that were installed using our [installation guide on GitHub](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md). If you are [hosted by Discourse](https://www.discourse.org/pricing), please see [Configure your domain name for hosted Discourse](https://meta.discourse.org/t/configure-your-domain-name-for-hosted-discourse/21827) for specific …

В нём подробно рассматриваются _многие_ аспекты смены домена, обязательно ознакомьтесь. 🙂

---

<div class="post-metadata">

### Author: ![maiki](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/maiki/32/233950_2.png) [@maiki](https://meta.discourse.org/u/maiki)
#### Post date: [04.Апрель.2022 20:03:52 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/18 "2022-04-04T20:03:52Z")

</div>

> [@codinghorror](#):
>
> Стоит ли нам об этом беспокоиться? 🤔

> [@sam](#):
>
> Сделать почти нечего.

Уточню: речь о том, что почти ничего нельзя сделать с общим ростом размера обновлений, или о том, что почти ничего нельзя сделать с недавним всплеском активности обновления базовых образов (что в будущем не будет так сильно влиять)?

Я удивлён: у меня много маленьких установок Discourse с очень небольшим количеством пользователей, и в последнее время я постоянно сталкиваюсь с этой проблемой. Никаких загрузок или чего-то подобного. Я задумался, не приближаемся ли мы к моменту, когда облачная установка будет рекомендовать следующий шаг по объёму дискового пространства (а это 2 ГБ ОЗУ / 1 виртуальное ядро CPU / 50 ГБ SSD). 🤔

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [04.Апрель.2022 20:45:27 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/19 "2022-04-04T20:45:27Z")

</div>

Я спрашивал об этом у @falco в чате, и он сказал, что в последнее время у нас было много изменений базовых образов из-за обновления зависимостей, поэтому за последние ~6 месяцев при обновлениях требовалось больше дискового пространства, чем обычно.

---

<div class="post-metadata">

### Author: ![maiki](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/maiki/32/233950_2.png) [@maiki](https://meta.discourse.org/u/maiki)
#### Post date: [05.Апрель.2022 17:16:10 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/21 "2022-04-05T17:16:10Z")

</div>

Извините, что у вас возникли проблемы с изменением имени домена, @anon43908006.

Поскольку это раздел #Support, я рекомендую создать новую тему, где вы подробно опишете свой случай: возможно, ваша ситуация требует более детального обсуждения, чем то, что происходит в этой теме, которая в целом отражает общую тенденцию, которую мы наблюдаем.

Если хотите, вы можете упомянуть меня (@maiki), и я с радостью обсудю, что происходит с вашим сайтом. 🙂

---

<div class="post-metadata">

### Author: ![littleviolette](https://avatars.discourse-cdn.com/v4/letter/l/d26b3c/32.png) [@littleviolette](https://meta.discourse.org/u/littleviolette)
#### Post date: [15.Ноябрь.2022 20:01:43 UTC](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774/23 "2022-11-15T20:01:43Z")

</div>

Я получаю ту же ошибку `No space left on device` при попытке создать резервную копию своего Discourse:

```plaintext
[2022-11-15 08:23:38] EXCEPTION: /var/www/discourse/lib/discourse.rb:131:in `exec': Failed to gzip archive.

gzip: /var/www/discourse/public/backups/default/forum-leasehackr-2022-11-15-080439-v20221110175456.tar.gz: No space left on device

```

Мои резервные копии и загрузка изображений настроены на Spaces от DigitalOcean и работали без проблем в течение нескольких лет до недавнего времени. Вот что я уже пробовал:

1. Я очистил все скрытые multipart-загрузки в своём DO Space. На моём DO Space должно быть доступно более 100 ГиБ свободного места.
2. Я попробовал пересобрать систему и очистить её с помощью следующих команд:

```plaintext
cd /var/discourse
apt-get update
apt-get upgrade
apt-get autoclean
apt-get autoremove
./launcher rebuild app
./launcher cleanup

```

Кто-нибудь знает, почему мои резервные копии продолжают завершаться неудачей? Спасибо!

[Следующая страница](https://meta.discourse.org/t/unable-to-rebuild-discourse-due-to-no-space-left-on-device/174774.md?page=2)
