🚀 Запуск FreeIPA с использованием Docker Compose

В корне создаём папку freeipa и необходимые файлы: docker-compose.yml:

mkdir freeipa

1. Создание конфигурации Docker Compose

Добавляем содержимое в файл docker-compose.yml:

cat > freeipa/docker-compose.yml <<EOF
version: "3"
services:  
  freeipa:
    image: freeipa/freeipa-server:centos-8-stream
    hostname: freeipa
    domainname: freeipa.(youdomaine)
    container_name: freeipa
    ports:
      - 389:389
      - 636:636
      - 88:88
      - 464:464
      - 88:88/udp
      - 464:464/udp
      - 123:123/udp
    dns:
      - (you_dns_server)
    restart: unless-stopped
    tty: true
    stdin_open: true
    environment:
      IPA_SERVER_HOSTNAME: freeipa.(youdomaine)
      IPA_SERVER_IP: (you_ip_container)
      DNS: (you_dns_server)
      TZ: "Europe/Astrakhan"
    command:
      - -U
      - --domain=(youdomaine)
      - --realm=(youdomaine)
      - --admin-password=(youpassword)
      - --http-pin=(youpassword)
      - --dirsrv-pin=(youpassword)
      - --ds-password=(youpassword)
      - --no-host-dns
      - --no-ntp
      - --unattended
    cap_add:
      - SYS_TIME
      - NET_ADMIN
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
      - ./data:/data
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.lo.disable_ipv6=0
    security_opt:
      - "seccomp:unconfined"
    labels:
      - traefik.enable=true
      - traefik.http.middlewares.freeipa_https.redirectscheme.scheme=https
      - traefik.http.routers.freeipa.entrypoints=web
      - traefik.http.routers.freeipa.middlewares=freeipa_https@docker
      - traefik.http.routers.freeipa.rule=Host(\`freeipa.(youdomaine)\`)
      - traefik.http.routers.freeipa_https.entrypoints=websecure
      - traefik.http.routers.freeipa_https.rule=Host(\`freeipa.(youdomaine)\`)
      - traefik.http.routers.freeipa_https.tls=true
      - traefik.http.services.freeipa.loadbalancer.server.port=80
      - traefik.http.routers.freeipa_https.tls.certresolver=le
    networks:
      default:
        ipv4_address: (you_ip_container)

networks:
  default:
    external:
      name: traefik_network
EOF

2. Замены в конфигурации

Не забудьте заменить следующие параметры на ваши собственные:

  • (youdomaine) — ваше доменное имя.
  • (you_dns_server) — IP-адрес вашего DNS-сервера.
  • (you_ip_container) — IP-адрес для вашего контейнера.
  • (youpassword) — пароль для FreeIPA.

Теперь ваш контейнер с FreeIPA готов к запуску!

3. Запуск FreeIPA

После настройки конфигурации, вы можете запустить FreeIPA с помощью следующей команды:

docker-compose up -d

Теперь ваш FreeIPA сервер работает и готов к использованию! Если у вас есть дополнительные вопросы, не стесняйтесь задавать их. 🌟