name: docker-ip-addr-manager services: app: image: joafri/docker-ip-addr-manager-app:main build: context: ./backend dockerfile: Dockerfile container_name: docker-ip-addr-manager restart: unless-stopped network_mode: host cap_add: - NET_ADMIN security_opt: - no-new-privileges:true environment: TZ: Europe/Stockholm APP_PORT: "31810" STATE_FILE: /data/entries.json DOCKER_API_URL: unix:///var/run/docker.sock DOCKER_TIMEOUT_SECONDS: "3" DNS_PROVIDER: none DNS_BASE_DOMAIN: home.arpa DNS_TTL_SECONDS: "120" DNS_SYNC_INTERVAL_SECONDS: "15" ADGUARD_URL: http://127.0.0.1:3000 ADGUARD_USERNAME: "" ADGUARD_PASSWORD: "" ADGUARD_API_TOKEN: "" RFC2136_SERVER: "" RFC2136_ZONE: "" RFC2136_PORT: "53" RFC2136_TSIG_KEY_NAME: "" RFC2136_TSIG_SECRET: "" RFC2136_TSIG_ALGORITHM: hmac-sha256 volumes: - type: bind source: /DATA/AppData/$AppID/data target: /data - type: bind source: /var/run/docker.sock target: /var/run/docker.sock read_only: true x-casaos: envs: - container: APP_PORT description: en_us: HTTP port for the management UI - container: DOCKER_API_URL description: en_us: Docker endpoint (unix socket default, optional tcp endpoint) - container: DOCKER_TIMEOUT_SECONDS description: en_us: Timeout in seconds for Docker API requests - container: DNS_PROVIDER description: en_us: DNS backend (none, adguard, rfc2136) - container: DNS_BASE_DOMAIN description: en_us: Base domain for generated hostnames like . - container: DNS_TTL_SECONDS description: en_us: TTL in seconds for DNS A records - container: DNS_SYNC_INTERVAL_SECONDS description: en_us: Background DNS reconcile interval in seconds - container: ADGUARD_URL description: en_us: AdGuard Home URL for DNS_PROVIDER=adguard - container: ADGUARD_USERNAME description: en_us: AdGuard Home username for DNS_PROVIDER=adguard - container: ADGUARD_PASSWORD description: en_us: AdGuard Home password for DNS_PROVIDER=adguard - container: RFC2136_SERVER description: en_us: RFC2136 nameserver host or IP - container: RFC2136_ZONE description: en_us: RFC2136 zone name (for example home.arpa) volumes: - container: /data description: en_us: Persistent IP entry state socket-proxy: image: lscr.io/linuxserver/socket-proxy:version-3.0.9-r0 container_name: docker-ip-addr-manager-proxy restart: unless-stopped environment: TZ: Europe/Stockholm CONTAINERS: 1 INFO: 1 PING: 1 POST: 0 VERSION: 1 read_only: true tmpfs: - /run ports: - target: 2375 published: "2375" host_ip: 127.0.0.1 protocol: tcp volumes: - type: bind source: /var/run/docker.sock target: /var/run/docker.sock read_only: true security_opt: - no-new-privileges:true cap_drop: - ALL x-casaos: architectures: - amd64 - arm64 - arm main: app category: phirna author: Joachim Friberg developer: Joachim Friberg icon: https://cdn.simpleicons.org/docker tagline: en_us: Manage host LAN IP aliases for container port bindings description: en_us: >- Adds/removes host interface IP aliases and shows whether an IP is used by Docker container port bindings. Includes fail-closed disable/delete checks when usage cannot be validated. Start by adding a new IP Entry in this app and connect it to the appropriate Device. Then install, or update, a zima app and choose network: bridge. * Enter a name for the app, and the app can create DNS records as . when DNS sync is enabled * Click add, and a new row appears under. * Click "Enable" to have this app setup the host to listen to this IP Address * To to the ZimaOS App Store, choose an app, and do a "Custom Install" * Add your chosen ip to all fields related to a host port Such as the ip to the WebUI, and under "Port", theres a "Host" column. !!! DON'T add the ip-address to the Container column. !!! Note: Due to a builtin "convenience" checker in ZimaOS, even if each container gets their own IP, the UI might still complain if two applications use the same port title: en_us: Docker IP Addr Manager index: / port_map: "31810" scheme: http