this post was submitted on 27 Jun 2023
2 points (100.0% liked)

Self Hosted - Self-hosting your services.

11419 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules

Important

Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!

Cross-posting

If you see a rule-breaker please DM the mods!

founded 3 years ago
MODERATORS
 

Hi guys! I have several docker containers running on my home server set up with separated compose files for each of them, including a Pihole one that serves as my home DNS. I created a network for it and a fixed IP but I couldn't find a way to set fixed IPs to the other containers that use the Pihole network. Well everything works but every now and then I have problems because the Pihole cant start first and grab the fixed IP and some other container gets its IP so nothing works because everything depends on the Pihole to work. My Pihole compose is like this:

`networks: casa:

driver: bridge
ipam:
  config:
    - subnet: "172.10.0.0/20"

networks:

  casa:
    ipv4_address: 172.10.0.2`

My Jellyfin container as an example is like this:

`_networks: - pihole_casa dns: - 172.10.0.2

networks: pihole_casa: external: true__`

I read the documentation about setting fixed IP but all I got was using one single compose file and with 12 containers that seems like a messy solution.. I couldn't set fixed IPs with different compose files. Do you guys have any suggestion about it?

Thanks!

TLDR: I want to set fixed IPs to containers in different compose files so all of them use Pihole as DNS and don´t steal Pihole's IP in the startup

you are viewing a single comment's thread
view the rest of the comments
[–] tvcvt@lemmy.ml 2 points 1 year ago (1 children)

I think what you’re describing can be accomplished with docker-compose’s depends_on option. I’m not certain how it works across compose files, but that would be the first place I’d look.

[–] fernandu00@lemmy.ml 1 points 1 year ago (1 children)

Yeah..seems like the depends_on works with multiple services in one single compose file..and putting 10 services in tha same compose file is messy

[–] narc0tic_bird@lemm.ee 3 points 1 year ago

You can split services into multiple YAML files (i.e. docker-compose.database.yml and docker-compose.backend.yml or whatever) and then use docker compose up -d docker-compose.database.yml docker-compose.backend.yml. Compose treats this like it would one file internally (i.e. the services are connected to each other via an internal network by default).