From b8f7020874ee0529816d2f4bcda8ed07a601ba24 Mon Sep 17 00:00:00 2001 From: Inex Code Date: Wed, 15 Mar 2023 17:58:09 +0300 Subject: [PATCH] docs(en): Add cleanup guide --- .../en/docs/How To Guides/manual_cleanup.md | 134 ++++++++++++++++++ .../en/docs/How To Guides/root_ssh/_index.md | 3 +- 2 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 content/en/docs/How To Guides/manual_cleanup.md diff --git a/content/en/docs/How To Guides/manual_cleanup.md b/content/en/docs/How To Guides/manual_cleanup.md new file mode 100644 index 0000000..36a2a11 --- /dev/null +++ b/content/en/docs/How To Guides/manual_cleanup.md @@ -0,0 +1,134 @@ +--- +title: "How to manually clean up your server's disk space" +linkTitle: "Manual space cleanup" +weight: 2 +date: 2023-03-14 +description: > + Manual cleanup might be required if you need more space on system volume. +categories: ["How-To Guides"] +--- + + +{{% pageinfo color="warning" %}} +All commands in this guide are run as root via SSH. +If you do not have root access, refer to [this guide](/docs/how-to-guides/root_ssh/) for more information. + +If you have no space left, you will only be able to use the SSH keys you previously added. +If you run out of disk space and have not added any SSH keys, contact SelfPrivacy support for further assistance. +{{% /pageinfo %}} + +There are several ways to clean up your server's disk space. + +To check how much disk space you have, run the following command: + +```bash +df -h +``` + +This will output a table like this: + +``` +Filesystem Size Used Avail Use% Mounted on +devtmpfs 97M 0 97M 0% /dev +tmpfs 969M 52K 969M 1% /dev/shm +tmpfs 485M 3.8M 481M 1% /run +tmpfs 969M 432K 968M 1% /run/wrappers +/dev/sda1 19G 8.2G 9.5G 47% / +/dev/sdb 18G 62M 17G 1% /volumes/sdb +tmpfs 194M 0 194M 0% /run/user/0 +``` + +Here, the filesystem mounted on just `/` is your system volume. + +## Deleting old NixOS generations + +{{% alert title="Zero space warning" color="warning" %}} +This method won't work if you have **no space left** on your system volume. Use other methods first. +{{% /alert %}} + +NixOS allows you to roll back to previous system states at any time, at the cost of disk space. +SelfPrivacy servers are configured to reclaim disk space by automatically deleting old system states, +but only states older than 7 days are deleted, so you can still use the rollback feature. + +It is possible to manually delete all old system states, and it may give you more much needed disk space. +To do this, simply run the following command as root: + +```bash +nix-collect-garbage -d +``` + +This operation might take a while, depending on the number of system states you have. +When it is done, you will see how much disk space you have freed up. + +## Deleting old logs + +Logs sometimes may take up quite a lot of disk space. +On SelfPrivacy servers, system logs are always limited to 500MiB, but these are not the only +log files you have on your server. + +To check how much disk space logs take up, run the following command: + +```bash +du -h --max-depth=1 /var/log +``` + +The output will look something like this: + +``` +4.0K /var/log/private +14M /var/log/nginx +499M /var/log/journal +587M /var/log +``` + +### System journal + +Here, `/var/log/journal` are the system logs where all apps usually write their logs. As you can see in this example, +they respect the 500MiB limit. + +If you want to clear *all* system logs, run the following command: + +```bash +journalctl --rotate && journalctl --vacuum-time=1s +``` + +This will usually give you around 450 MiB of free disk space, but not for long. +This may though be enough to run some commands that will free up more space. + +### Nginx logs + +The `/var/log/nginx` directory contains logs for the Nginx web server. If they got too big, you can clear them by running: + +```bash +rm /var/log/nginx/* && systemctl reload nginx +``` + +As you can see, we don't just delete the files, but also reload Nginx. +This is because Nginx will get confused by the missing log files, and they will not be recreated until Nginx is reloaded. + +## Deleting old system + +{{% alert color="warning" %}} +This operation can only be performed once during the lifetime of your server. + +If you have installed SelfPrivacy on your own hardware, this may lead to some data loss. +{{% /alert %}} + +When you install SelfPrivacy on a server, the existing system gets replaced by NixOS. But the old system is still there +and takes up disk space, so you can roll back to it if you want. + +To measure how much disk space the old system takes up, run the following command: + +```bash +du -h --max-depth=1 /old-root/ +``` + +If there is no old system in place, you will see `du: cannot access '/old-root/': No such file or directory`. + +But if you do have an old system, you may delete it by running the following command: + +```bash +rm -rf /old-root/ +``` + +This usually frees up around 1.8 GiB of disk space on typical SelfPrivacy servers. diff --git a/content/en/docs/How To Guides/root_ssh/_index.md b/content/en/docs/How To Guides/root_ssh/_index.md index 0ecf2b2..1cf45ec 100644 --- a/content/en/docs/How To Guides/root_ssh/_index.md +++ b/content/en/docs/How To Guides/root_ssh/_index.md @@ -1,6 +1,7 @@ --- title: "How to get root access via SSH" -weight: 2 +linkTitle: "Root access via SSH" +weight: 1 date: 2023-03-14 description: > If you need to manually perform some tasks, you can get root access via SSH.