https://github.com/extrange/server-core
Core server containers
https://github.com/extrange/server-core
Last synced: 21 days ago
JSON representation
Core server containers
- Host: GitHub
- URL: https://github.com/extrange/server-core
- Owner: extrange
- Created: 2020-09-24T08:38:30.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-02-19T08:34:20.000Z (about 2 months ago)
- Last Synced: 2026-02-19T13:49:59.326Z (about 2 months ago)
- Homepage:
- Size: 723 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Home Server
Containers on my home server, which are exposed to the internet or Tailscale. See my [blog] for more details.
## \*.internal.nicholaslyz.com
Sites 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.
A 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.
## Updating Postgres containers across major versions
Move `data` to `old` and remount:
```yml
volumes:
- ../services/metabase/old:/var/lib/postgresql/data
```
Dump database:
```sh
# Ensure the DB container is running!
docker compose exec -it bash
pg_dumpall -U $POSTGRES_USER -l $POSTGRES_DB > /var/lib/postgresql/data/dump.sql
```
Upgrade image version, then mount the `old` directory to `old`:
```yml
volumes:
- ../services/metabase/data:/var/lib/postgresql/data
- ../services/metabase/old:/old
```
Rebuild DB:
```sh
psql -U $POSTGRES_USER -d $POSTGRES_DB -f /old/dump.sql
```
[blog]: https://nicholaslyz.com/blog/2022/05/22/my-self-hosting-journey/
[1 to 1 NAT]: https://tailscale.com/blog/choose-your-ip