Перейти к содержанию

Запуск

Запуск с помощью Docker Compose

  1. Перейдите в директорию AppsecCode:

    cd appseccode
    
  2. Создайте файл docker-compose.yml.

    version: '3.9'
    
    services:
      postgresql:
        image: postgres:16
        container_name: postgresql
        volumes:
          - ./postgresql/data:/var/lib/postgresql/data
        networks:
          - appseccode-net
        environment:
          - POSTGRES_PASSWORD=jnfam6d8ePKIbnKE
          - POSTGRES_DB=appseccode
          - TZ=Europe/Moscow
        security_opt:
          - no-new-privileges
        restart: always
        tmpfs:
          - /tmp
    
      appseccode:
        image: registry.appsec.global/appseccode/appseccode:26.1.1
        hostname: appseccode
        container_name: appseccode
        networks:
          - appseccode-net
        restart: always
        environment:
          GITLAB_SKIP_UNMIGRATED_DATA_CHECK: "true"
          LANG: "ru_RU.UTF-8"
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'https://YOUR_DOMAIN'
            gitlab_rails['initial_root_password'] = 'GENERATED_ROOT_PASSWD'
            nginx['redirect_http_to_https'] = true
            nginx['ssl_certificate'] = '/etc/gitlab/ssl/fullchain1.pem'
            nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/privkey1.pem'
            # Disable the bundled Omnibus provided PostgreSQL
            postgresql['enable'] = false
            # PostgreSQL connection details
            gitlab_rails['db_adapter'] = 'postgresql'
            gitlab_rails['db_encoding'] = 'utf8'
            gitlab_rails['db_host'] = 'postgresql' # IP/hostname of database server
            gitlab_rails['db_username'] = "postgres"
            gitlab_rails['db_password'] = 'jnfam6d8ePKIbnKE'
            gitlab_rails['db_database'] = "appseccode"
            letsencrypt['enable'] = false
            gitlab_rails['gitlab_shell_ssh_port'] = 2222
        depends_on:
          - postgresql
        ports:
          - '80:80'
          - '443:443'
          - '2222:22'
          - '8090:8090'
        volumes:
          - './config/ssl:/etc/gitlab/ssl'
          - './config/etc:/etc/gitlab/'
          - './logs:/var/log/gitlab'
          - './data:/var/opt/gitlab'
        shm_size: '256m'
    networks:
      appseccode-net:
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 172.20.0.0/24
    

    Или минимальный конфиг если у вас нет SSL сертификатов:

    services:
    
      postgresql:
        image: postgres:16
        container_name: postgresql
        volumes:
          - ./postgresql/data:/var/lib/postgresql/data
        networks:
          - appseccode-net
        environment:
          - POSTGRES_PASSWORD=jnfam6d8ePKIbnKE
          - POSTGRES_DB=appseccode
          - TZ=Europe/Moscow
        security_opt:
          - no-new-privileges
        restart: always
        tmpfs:
          - /tmp
    
      appseccode:
        image: docker.swordfishsecurity.com/appseccode/appseccode:26.1.1
        hostname: 'appseccode'
        container_name: appseccode
        networks:
          - appseccode-net
        restart: always
        environment:
          GITLAB_SKIP_UNMIGRATED_DATA_CHECK: "true"
          LANG: "ru_RU.UTF-8"
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://HOST_IP'
            gitlab_rails['initial_root_password'] = 'GENERATED_ROOT_PASSWD'
            nginx['redirect_http_to_https'] = false
            # Disable the bundled Omnibus provided PostgreSQL
            postgresql['enable'] = false
            # PostgreSQL connection details
            gitlab_rails['db_adapter'] = 'postgresql'
            gitlab_rails['db_encoding'] = 'utf8'
            gitlab_rails['db_host'] = 'postgresql' # IP/hostname of database server
            gitlab_rails['db_username'] = "postgres"
            gitlab_rails['db_password'] = 'jnfam6d8ePKIbnKE'
            gitlab_rails['db_database'] = "appseccode"
            letsencrypt['enable'] = false
            gitlab_rails['gitlab_shell_ssh_port'] = 2222
        depends_on:
          - postgresql
        ports:
          - '80:80'
          - '2222:22'
        volumes:
          - './config/etc:/etc/gitlab/'
          - './logs:/var/log/gitlab'
          - './data:/var/opt/gitlab'
        shm_size: '256m'
    
    networks:
      appseccode-net:
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 172.20.0.0/24
    

    Примечание

    В файле docker-compose.yml вместо переменной YOUR_DOMAIN укажите свой доменный адрес/IP-адрес.

    В файле docker-compose.yml вместо переменной GENERATED_ROOT_PASSWD впишите пароль AgxksAHosau51623!@#$%.

    Политика блокировки уязвимого пароля сработает если:

    1. Пароль соответствует одному из 4500+ известных взломанных паролей.
    2. Пароль содержит часть вашего имени, имени пользователя или адреса электронной почты.
    3. Пароль содержит предсказуемое слово (например, gitlab или devops).
  3. Залогиньтесь в реестр образов для скачивания актуальных артефактов.

    echo "YOUR_PASSWORD" | docker login --username "YOUR_USER" --password-stdin registry.appsec.global
    
  4. Перейдите в директорию, в которой располагается файл docker-compose.yml, и запустите Систему.

    rootlessenv docker-compose up -d
    
    docker-compose up -d
    
    docker compose up -d