{"id":20936336,"url":"https://github.com/extrange/server-core","last_synced_at":"2026-03-19T18:06:39.752Z","repository":{"id":207328047,"uuid":"298218771","full_name":"extrange/server-core","owner":"extrange","description":"Core server containers","archived":false,"fork":false,"pushed_at":"2026-02-19T08:34:20.000Z","size":740,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-19T13:49:59.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"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/extrange.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-09-24T08:38:30.000Z","updated_at":"2026-02-19T08:17:47.000Z","dependencies_parsed_at":"2024-01-23T10:09:20.299Z","dependency_job_id":"17af6902-44f1-4ebb-84d6-fe9303f0a6f5","html_url":"https://github.com/extrange/server-core","commit_stats":null,"previous_names":["extrange/server-core"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/extrange/server-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Fserver-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Fserver-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Fserver-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Fserver-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/extrange","download_url":"https://codeload.github.com/extrange/server-core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrange%2Fserver-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29885801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-18T22:19:07.071Z","updated_at":"2026-02-27T05:04:15.169Z","avatar_url":"https://github.com/extrange.png","language":null,"readme":"# My Home Server\n\nContainers on my home server, which are exposed to the internet or Tailscale. See my [blog] for more details.\n\n## \\*.internal.nicholaslyz.com\n\nSites under this hostname are routed via Tailscale (and therefore are not publicly accessible). This is done via an `A` record pointing to the Tailscale private IP of the Traefik sidecar container. They are therefore publicly resolvable, but not publicly routable.\n\nA limitation of this is that when the Traefik sidecar container is shared to other tailnets, there is a chance that the hostname may resolve to an internal IP in that tailnet, rather than this tailnet, due to the use of a [1 to 1 NAT] which Tailscale uses to avoid IP collisions across tailnets.\n\n## Updating Postgres containers across major versions\n\nMove `data` to `old` and remount:\n\n```yml\nvolumes:\n  - ../services/metabase/old:/var/lib/postgresql/data\n```\n\nDump database:\n\n```sh\n# Ensure the DB container is running!\ndocker compose exec -it \u003cCONTAINER_NAME\u003e bash\npg_dumpall -U $POSTGRES_USER -l $POSTGRES_DB \u003e /var/lib/postgresql/data/dump.sql\n```\n\nUpgrade image version, then mount the `old` directory to `old`:\n\n```yml\nvolumes:\n  - ../services/metabase/data:/var/lib/postgresql/data\n  - ../services/metabase/old:/old\n```\n\nRebuild DB:\n\n```sh\npsql -U $POSTGRES_USER -d $POSTGRES_DB -f /old/dump.sql\n```\n\n[blog]: https://nicholaslyz.com/blog/2022/05/22/my-self-hosting-journey/\n[1 to 1 NAT]: https://tailscale.com/blog/choose-your-ip\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrange%2Fserver-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fextrange%2Fserver-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrange%2Fserver-core/lists"}