{"id":13588100,"url":"https://github.com/bucherfa/server-setup","last_synced_at":"2026-03-06T18:04:26.886Z","repository":{"id":39968871,"uuid":"244414145","full_name":"bucherfa/server-setup","owner":"bucherfa","description":"Home Server Setup","archived":false,"fork":false,"pushed_at":"2026-01-16T17:42:44.000Z","size":1095,"stargazers_count":88,"open_issues_count":0,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-01-17T05:43:07.943Z","etag":null,"topics":["bitwarden","borgbackup","borgmatic","docker","docker-compose","nextcloud","selfhosted","traefik"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bucherfa.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-02T16:05:49.000Z","updated_at":"2026-01-16T17:42:48.000Z","dependencies_parsed_at":"2024-11-06T07:33:36.594Z","dependency_job_id":"536ffe8a-04f4-4e74-8303-616a39bfe1d5","html_url":"https://github.com/bucherfa/server-setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bucherfa/server-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucherfa%2Fserver-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucherfa%2Fserver-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucherfa%2Fserver-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucherfa%2Fserver-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bucherfa","download_url":"https://codeload.github.com/bucherfa/server-setup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucherfa%2Fserver-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30189489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T17:33:53.563Z","status":"ssl_error","status_checked_at":"2026-03-06T17:33:51.678Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitwarden","borgbackup","borgmatic","docker","docker-compose","nextcloud","selfhosted","traefik"],"created_at":"2024-08-01T15:06:30.603Z","updated_at":"2026-03-06T18:04:26.833Z","avatar_url":"https://github.com/bucherfa.png","language":"Shell","readme":"# home server setup\n\n## basic setup\n\n### ubuntu\n\n* hardware only worked with ubuntu network installer\n* select `Basic Ubuntu Server` and `OpenSSH server` during installation in the `Software selection` section\n* encrypt hard drive\n\n### ssh\n\n* add ssh keys to server\n* disable login with password over ssh in `/etc/ssh/sshd_config`\n* reload ssh serivce `sudo service ssh restart`\n\n### docker setup\n\n* install some software\n* add ubuntu apt repo\n* install docker-ce and docker-compose\n\n```\nsudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\nsudo apt-key fingerprint 0EBFCD88\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \\\n  $(lsb_release -cs) \\\n  stable\"\nsudo apt update\nsudo apt install docker-ce\nsudo apt install docker-compose\nsudo usermod -aG docker $USER #logout and login after this\n```\n\n### backup\n\nThe backup strategy heavily relies on [borgmatic](https://torsion.org/borgmatic/) which in turn relies on [Borg](https://www.borgbackup.org/). Follow the steps below to set it up.\n\n* setup `borg \u003e=1.0.8` and `rclone` on a remote system\n  * for `borg` on ubuntu you need to add an additional [PPA](https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/borgbackup)\n    ```bash\n    sudo add-apt-repository ppa:costamagnagianfranco/borgbackup\n    sudo apt update\n    sudo apt install borgbackup\n    ```\n  * for `rclone`\n    ```bash\n    sudo apt install rclone\n    # if the version is too old, install via generic install script from https://rclone.org/downloads/\n    ```\n* setup rclone\n  ```bash\n  rclone config # and follow guided configuration\n  # note: $NAME is used for rclone repo by default in backup.sh\n  ```\n* connect to the remote system at least once via ssh from your host machine to add it to `.ssh/know_hosts`\n* create a folder on the remote system where the `borgmatic` repos should be initialized\n* adjust the `.env` accordingly\n* setup ssmtp for email notifications\n  ```bash\n  sudo apt install ssmtp\n  # edit file /etc/ssmtp/ssmtp.conf and add the following content\n  root=no-reply@domain.tld\n  mailhub=mail.domain.tld:587\n  hostname=no-reply@domain.tld\n  FromLineOverride=YES\n  UseSTARTTLS=YES\n  AuthUser=no-reply@domain.tld\n  AuthPass=secret\n  # edit file /etc/ssmtp/revaliases and add the following content\n  root:no-reply@domain.tld:mail.domain.tld:587\n  user:no-reply@domain.tld:mail.domain.tld:587\n  # test your configuration\n  echo \"Hello World!\" | ssmtp cron@domain.tld\n  ```\n* setup a cron job for the backup script\n  ```bash\n  crontab -e\n  # insert the following line to the end of the file\n  # it writes the output first into a log file and then sends the output to a given mail address\n  0 4 * * * cd /path/to/setup \u0026\u0026 ./backup.sh \u003e\u003e ./.logs/$(date -u +\"\\%Y-\\%m-\\%dT\\%H:\\%M:\\%SZ\").log \u0026\u0026 cat ./.logs/$(ls -t ./.logs | head -n1) | /usr/sbin/ssmtp cron@domain.tld\n  ```\n\n## notes\n\n### list all images sorted by creation date\n\n```bash\ndocker images --format \"table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.CreatedAt}}\\t{{.Size}}\" | sort -k 4\n```\n\n### fritz.box\n\n* blocks all domains mapped to local ip addresses by default\n\n  to use domains in the local network add them to:\n\n  `Home Network` \u003e `Home Network Overview` \u003e `Network Settings` \u003e `DNS Rebind Protection`\n\n## hardware\n\n[PCPartPicker Part List](https://de.pcpartpicker.com/list/LMGFK4)\n\nType|Item|Price\n:----|:----|:----\n**CPU** | [AMD Ryzen 5 3400G 3.7 GHz Quad-Core Processor](https://de.pcpartpicker.com/product/XP6qqs/amd-ryzen-5-3400g-37-ghz-quad-core-processor-yd3400c5fhbox) | Purchased For €149.89\n**CPU Cooler** | [Noctua NH-L9a-AM4 33.84 CFM CPU Cooler](https://de.pcpartpicker.com/product/DZfhP6/noctua-nh-l9a-am4-338-cfm-cpu-cooler-nh-l9a-am4) | Purchased For €41.10\n**Memory** | [Crucial 8 GB (1 x 8 GB) DDR4-2666 Memory](https://de.pcpartpicker.com/product/2YdxFT/crucial-8gb-1-x-8gb-ddr4-2666-memory-ct8g4sfs8266) | Purchased For €31.54\n**Memory** | [Crucial 8 GB (1 x 8 GB) DDR4-2666 Memory](https://de.pcpartpicker.com/product/2YdxFT/crucial-8gb-1-x-8gb-ddr4-2666-memory-ct8g4sfs8266) | Purchased For €31.54\n**Storage** | [ADATA XPG SX6000 Pro 512 GB M.2-2280 NVME Solid State Drive](https://de.pcpartpicker.com/product/VwbwrH/adata-xpg-sx6000-pro-512-gb-m2-2280-solid-state-drive-asx6000pnp-512gt-c) | Purchased For €78.90\n**Custom**| [ASRock Deskmini A300 AMD - Case, Motherboard, Power Supply](https://www.asrock.com/nettop/AMD/DeskMini%20A300%20Series/index.asp) | Purchased For €142.00\n**Total** | | **€474.97**\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbucherfa%2Fserver-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbucherfa%2Fserver-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbucherfa%2Fserver-setup/lists"}