{"id":17017562,"url":"https://github.com/corusm/server-infrastructure","last_synced_at":"2026-04-08T18:31:52.650Z","repository":{"id":114083731,"uuid":"478033790","full_name":"corusm/server-infrastructure","owner":"corusm","description":"This repo contains a mirror of my private server-infrastructure.","archived":false,"fork":false,"pushed_at":"2023-07-11T10:05:24.000Z","size":4636,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T15:38:52.483Z","etag":null,"topics":["ansible","devops","docker","monitoring"],"latest_commit_sha":null,"homepage":"https://leinz.dev","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/corusm.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}},"created_at":"2022-04-05T08:13:35.000Z","updated_at":"2022-04-05T08:14:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"7128bb0a-17b5-4e5b-a1cc-a9a168daa7c8","html_url":"https://github.com/corusm/server-infrastructure","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/corusm/server-infrastructure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corusm%2Fserver-infrastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corusm%2Fserver-infrastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corusm%2Fserver-infrastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corusm%2Fserver-infrastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/corusm","download_url":"https://codeload.github.com/corusm/server-infrastructure/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corusm%2Fserver-infrastructure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31568614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["ansible","devops","docker","monitoring"],"created_at":"2024-10-14T06:36:56.811Z","updated_at":"2026-04-08T18:31:52.642Z","avatar_url":"https://github.com/corusm.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CORUSM Docker Documentation\n\nHi there, this is a kind of mirror of my private docker-compose infrastructure. I'm currently moving on to `kubernetes` and wanted to make this repo public now, so others might have a more simple start to container infrastructure.\n\nThis Repo just contains a collection of public services and not my own ones.\n\n## Provisioning\nFor creating the infrastructure just go to the `ansible` directory and execute `install-server.sh`. This will ask you for some inputs and will automatically setup your new VPS.\n\n## Storage Issues\nIn order to keep your setup cleaned up, put this command in your CRON and run it something like once a day.\nThis will prevent rapidly growing storage because it will delete unused docker ressources.\n```bash\ndocker system prune -a \u0026\u0026 docker volume prune\n```\n\n## Issues\nSometimes when I start my server, there is some instance of another server running and using an IP i've defined in Docker. \nWith `netset -nlp | grep 27017` you can look, which service is currently using this port and kill it.\n\n## Monitoring\nFor Monitoring I use a `Grafana`, `Prometheus`, `Loki` and `Watchtower` Stack.\nGrafana and Prometheus are used for Metrics and Loki is the logging server/database.\n\n### Watchtower\n[Watchtower](https://containrrr.dev/watchtower/) is a service, that checks in defined intervals if there is any update for the container image. \nIf there is one, it will pull the update and restart the container. You wont must make updates manually again.\nAdd following label to your containers, that you want to get updated by watchtower. Some services will break when doing this (f.e. Mailcow).\n```yml\nlabel:\n    - com.centurylinklabs.watchtower.enable=\"true\"\n```\n\n## Loki\nIn order to sent logs to Loki you first need to install the loki logging driver.\n```bash\ndocker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions\n```\nIf installed add this config to your `docker-compose` file.\n```yml\nx-logging:\n  \u0026default-logging\n  driver: loki\n  options:\n    mode: non-blocking\n    loki-url: http://localhost:3100/loki/api/v1/push\n    loki-external-labels: host=corusm.de,stack=keila\n```\nTo your service you must then add `logging: *default-logging`.\n\n# Backups\nFor backups I use `rclone` which is similar to `rsync` but different. `rclone` can `rsync` files to your cloud provider. So via `rsync` links I copy these files in my cloud.\n\n# Reverse Proxy\nAs a reverse proxy I use traefik, which does the whole certificate stuff for me. Configs are visible in my docker-compose files.\nIn order to get this repo to work for you, you must change my domain to yours.\n\n# Service Overview\n| Service            | Description                                                                       |\n|--------------------|-----------------------------------------------------------------------------------|\n| Mailcow-Dockerized | Self-Hosted E-Mail Server                                                         |\n| Bitwarden          | Self-Hosted Password Manager                                                      |\n| Keila              | Open-Source Newsletter Tool                                                       |\n| LogSeq             | A privacy-first, open-source platform for knowledge management and collaboration. |\n| Mattermost         | Open-Source Slack Alternative                                                     |\n| Metrics            | Grafana, Prometheus, Loki Stack                                                   |\n| MLFlow             | Machine-Learning Dev-Ops Tool                                                     |\n| Shlink             | Self-Hosted Bit.ly alternative                                                    |\n| Vault              | Harshicorp Vault for Secret Management                                            |\n| Wireguard          | Self-Hosted VPN Tunnel                                                            |\n| Registry           | Self-Hosted Docker-Registry                                                       |\n| Jenkins            | Open-Source CI/CD Tool                                                            |\n| Code-Server        | VSCode in the Web                                                                 |\n| Gotify             | Self-Hosted Notification Server                                                   |\n| Jupiter-Notebook   | Jupiter Notebook Server                                                           |\n| LanguageTool       | Open-Source Grammerly Alternative                                                 |\n| Nextcloud          | Self-Hosted Cloud (Calendar, Docs, Files)                                         |\n| Penpot             | Prototyping Tool (Figma Alternative)                                              |\n| Radicale           | Self-Hosted CalDav/CardDav (Calendar and Contacts)                                |\n| Sharelatex         | Self-Hosted Overleaf Server                                                       |\n| Traefik            | Reverse Proxy Service                                                             |\n| Watchtower         | Automated Container Updates                                                       |\n| FreshRSS           | RSS Reader                                                                        |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorusm%2Fserver-infrastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorusm%2Fserver-infrastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorusm%2Fserver-infrastructure/lists"}