Hallo ihr, und auch du da in der Ecke,
Ich habe eine Frage zu Docker-Anwedungen an sich, also wo mehrere einzelne Container zusammen geschaltete sind. Ich bin mir ziemlich sicher das dies schon mal diskutiert/erklärt/gefragt wurde. Leider finde ich es nicht oder ich habe einen Denkfehler.
Wie kann ich der ganzen Anwendung eine Eigene IP verpassen ohne die interne IP-Struktur zu zu beschädigen?
So sieht die Anwendung aus ...
networks:
internal:
name: internal
external: false
services:
redis:
container_name: immich_redis
image: redis:7-alpine
restart: unless-stopped
networks:
- internal
healthcheck:
test: redis-cli ping || exit 1
db:
container_name: immich_db
image: tensorchord/pgvecto-rs:pg16-v0.3.0
restart: unless-stopped
networks:
- internal
volumes:
- /share/Container/immich/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: immich
POSTGRES_USER: immich
POSTGRES_PASSWORD: 123456
POSTGRES_INITDB_ARGS: '--data-checksums'
healthcheck:
test: pg_isready --dbname='immich' --username='immich' || exit 1; Chksum="$$(psql --dbname='immich' --username='immich' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command:
[
'postgres',
'-c',
'shared_preload_libraries=vectors.so',
'-c',
'search_path="$$user", public, vectors',
'-c',
'logging_collector=on',
'-c',
'max_wal_size=2GB',
'-c',
'shared_buffers=512MB',
'-c',
'wal_compression=on',
]
db_backup:
container_name: immich_db_backup
image: prodrigestivill/postgres-backup-local:16
restart: unless-stopped
environment:
POSTGRES_HOST: db
POSTGRES_CLUSTER: 'TRUE'
POSTGRES_USER: immich
POSTGRES_PASSWORD: 123456
POSTGRES_DB: immich
SCHEDULE: "@daily"
POSTGRES_EXTRA_OPTS: '--clean --if-exists'
TZ: Europe/Berlin
volumes:
- /share/Container/immich/pgdata-backup:/backups
depends_on:
- db
networks:
- internal
immich:
container_name: immich
image: ghcr.io/immich-app/immich-server:release
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities:
- gpu
- compute
- video
depends_on:
- db
- redis
networks:
- internal
ports:
- 2283:2283
volumes:
- /etc/localtime:/etc/localtime:ro
- /share/Container/immich/library:/usr/src/app/upload
- /share/internes NAS/Eigene Bilder:/mnt/bilder
environment:
DB_HOSTNAME: db
DB_USERNAME: immich
DB_DATABASE_NAME: immich
DB_PASSWORD: 123456
TZ: Europe/Berlin
healthcheck:
disable: false
immich-machine-learning:
container_name: immich-machine-learning
image: ghcr.io/immich-app/immich-machine-learning:release
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities:
- gpu
restart: unless-stopped
depends_on:
- db
- redis
networks:
- internal
volumes:
- /share/Container/immich/model-cache:/cache
environment:
DB_HOSTNAME: db
DB_USERNAME: immich
DB_DATABASE_NAME: immich
DB_PASSWORD: 123456
TZ: Europe/Berlin
healthcheck:
disable: false... und die will ich über eine eigene IP, nicht die IP des Servers wo Docker läuft, erreichen können .. oder zumindest den immich-Server an sich.