Поиск по сайту:

Как установить Gitea Code Hosting с помощью Docker на Rocky Linux 8


На этой странице

  1. Предпосылки
  2. Шаг 1. Настройка брандмауэра
  3. Шаг 2. Установите Docker
  4. Шаг 3. Установите Docker Compose
  5. Шаг 4. Настройка и установка Gitea
    1. Настройка системного часового пояса
    2. Создание каталогов Gitea
    3. Настройка файла Gitea Docker Compose
    4. Настройте свою установку Gitea
    5. Установить Gitea

    Gitea — это служба самостоятельного размещения кода, похожая на Github, Bitbucket и Gitlab. Он написан на языке Go и может быть установлен в нескольких операционных системах, включая Linux, macOS, Windows, и таких архитектурах, как amd64, i386, ARM и других. Будучи легким приложением, его можно установить с минимальными требованиями к оборудованию. Он включает в себя редактор файлов репозитория, сервер OpenSSH, отслеживание проблем, запросы на вытягивание, управление пользователями, уведомления, встроенную вики, поддержку LFS, перехватчики Git и многое другое.

    В этой статье вы научитесь устанавливать Gitea с помощью Docker на сервер Rocky Linux 8.

    Предпосылки

    • A Server running Rocky Linux 8.5.

    • A non-root user with sudo privileges.

    • Disable SELinux.

    • Update everything.

      $ sudo dnf update
      
    • Install essential packages.

      $ sudo dnf install yum-utils nano curl
      
    • A fully qualified domain name(FQDN) pointing to the server like gitea.example.com.

    Шаг 1. Настройте брандмауэр

    Первым шагом является настройка брандмауэра. Rocky Linux использует Firewalld Firewall. Проверьте состояние брандмауэров.

    $ sudo firewall-cmd --state
    running
    

    Брандмауэр работает с разными зонами, и мы будем использовать публичную зону по умолчанию. Перечислите все службы и порты, активные на брандмауэре.

    $ sudo firewall-cmd --permanent --list-services
    

    Он должен показать следующий вывод.

    cockpit dhcpv6-client ssh
    

    Разрешить порты HTTP и HTTPS.

    $ sudo firewall-cmd --permanent --add-service=http
    $ sudo firewall-cmd --permanent --add-service=https
    

    Откройте порт 2221 для SSH.

    $ sudo firewall-cmd --permanent --add-port=2221/tcp
    

    Перечислите все службы, включенные брандмауэром.

    $ sudo firewall-cmd --permanent --list-all
    

    Вы должны увидеть аналогичный вывод.

    public
      target: default
      icmp-block-inversion: no
      interfaces:
      sources:
      services: cockpit dhcpv6-client http https ssh
      ports: 2221/tcp
      protocols:
      forward: no
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    

    Перезагрузите брандмауэр, чтобы изменения вступили в силу.

    $ sudo firewall-cmd --reload
    

    Шаг 2 — Установите Докер

    Rocky Linux поставляется со старой версией Docker. Чтобы установить последнюю версию, сначала установите официальный репозиторий Docker.

    $ sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    

    Установите последнюю версию Docker.

    $ sudo dnf install docker-ce docker-ce-cli containerd.io
    

    Включите и запустите демон Docker.

    $ sudo systemctl enable docker --now
    

    Убедитесь, что он запущен.

    ? docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Sat 2022-04-02 13:26:08 UTC; 2s ago
         Docs: https://docs.docker.com
     Main PID: 21152 (dockerd)
        Tasks: 7
       Memory: 30.9M
       CGroup: /system.slice/docker.service
               ??21152 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    ...
    

    По умолчанию Docker требует привилегий root. Если вы хотите избежать использования sudo при каждом запуске команды docker, добавьте свое имя пользователя в docker группа.

    $ sudo usermod -aG docker $(whoami)
    

    Вам нужно будет выйти из сервера и снова войти в систему как тот же пользователь, чтобы активировать это изменение.

    Шаг 3 — Установите Docker Compose

    Загрузите последнюю стабильную версию Docker Compose.

    $ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    

    Примените исполняемые разрешения к двоичному файлу Docker Compose.

    $ sudo chmod +x /usr/local/bin/docker-compose
    

    Протестируйте установку.

    $ docker-compose --version
    docker-compose version 1.29.2, build 5becea4c
    

    Установите скрипт завершения Bash для создания Docker.

    $ sudo curl \
        -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \
        -o /etc/bash_completion.d/docker-compose
    

    Перезагрузите настройки своего профиля, чтобы заработало завершение bash.

    $ source ~/.bashrc
    

    Шаг 4 — Настройте и установите Gitea

    Настройка системного часового пояса

    Вы можете проверить текущий часовой пояс вашей системы с помощью следующей команды.

    $ timedatectl
      Local time: Mon 2022-05-02 06:38:36 UTC
               Universal time: Mon 2022-05-02 06:38:36 UTC
                     RTC time: Mon 2022-05-02 06:38:36
                    Time zone: Etc/UTC (UTC, +0000)
    System clock synchronized: yes
                  NTP service: active
              RTC in local TZ: no
    

    Вы можете видеть, что система настроена на часовой пояс GMT или UTC. Если вы живете в регионе с другим часовым поясом или хотите изменить его, используйте для этого следующую команду.

    $ sudo timedatectl set-timezone Asia/Kolkata
    

    Еще раз проверьте часовой пояс.

    $ timedatectl
    Local time: Mon 2022-05-02 12:09:23 IST
               Universal time: Mon 2022-05-02 06:39:23 UTC
                     RTC time: Mon 2022-05-02 06:39:22
                    Time zone: Asia/Kolkata (IST, +0530)
    System clock synchronized: yes
                  NTP service: active
              RTC in local TZ: no
    

    Вы можете видеть, что часовой пояс был обновлен до IST, то есть GMT+5:30.

    Создание каталогов Gitea

    Создайте каталог для Gitea.

    $ mkdir ~/gitea-docker
    

    Перейдите в каталог Gitea.

    $ cd ~/gitea-docker
    

    Создайте каталоги для хранения данных Gitea и баз данных PostgreSQL.

    $ mkdir {gitea,postgres}
    

    Настройка файла компоновки Gitea Docker

    Получите значения UID (идентификатор пользователя) и GID (идентификатор группы) для текущего пользователя, вошедшего в систему. Первая команда генерирует UID, а вторая генерирует GID. Скопируйте оба значения, так как они потребуются для настройки файла компоновки Docker.

    $ echo $(id -u)
    1000
    $ echo $(id -g)
    1000
    

    Создайте и откройте файл Docker Compose для редактирования.

    $ nano docker-compose.yml
    

    Вставьте в него следующий код. Вставьте созданные ранее значения UID и GID.

    version: "3"
    
    networks:
      gitea:
        external: false
    
    services:
      server:
        image: gitea/gitea:1.16.6
        container_name: gitea
        environment:
          - USER_UID=1000
          - USER_GID=1000
          - GITEA__database__DB_TYPE=postgres
          - GITEA__database__HOST=db:5432
          - GITEA__database__NAME=gitea
          - GITEA__database__USER=gitea
          - GITEA__database__PASSWD=gitea
        restart: always
        networks:
          - gitea
        volumes:
          - ./gitea:/data
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          - "3000:3000"
          - "2221:22"
        depends_on:
          - db
    
      db:
        image: postgres:14
        restart: always
        environment:
          - POSTGRES_USER=gitea
          - POSTGRES_PASSWORD=gitea
          - POSTGRES_DB=gitea
        networks:
          - gitea
        volumes:
          - ./postgres:/var/lib/postgresql/data
    

    Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

    Приведенный выше файл Docker Compose развертывает два контейнера — один для Gitea и один для PostgreSQL. Мы добавили несколько переменных среды для настройки деталей базы данных. Чтобы подключить базу данных PostgreSQL к контейнеру Gitea, мы указали хост в качестве имени службы PostgreSQL в файле.

    Параметры порта \3000:3000\ и \2221:22\ определяют сопоставление портов, где левый порт обозначает порт хоста. а правый порт обозначает контейнерный порт. Gitea использует порт 3000 для своего веб-сервиса, который мы также предоставили серверу. Для SSH наша система уже использует порт 22 для ведения журнала. Поэтому мы указываем собственный порт для выполнения операций SSH. В нашем случае мы используем порт 2221. Этот порт также необходимо открыть через брандмауэр, что мы уже сделали на шаге 1 этого руководства.

    Контейнеры Gitea и PostgreSQL подключены через общую внутреннюю сеть Docker с именем gitea. При монтировании тома автоматически создаются каталоги gitea и postgres в текущей папке при запуске установки Docker. Идентификатор пользователя, указанный в файле компоновки, — это то, что контейнер Gitea будет использовать для создания каталога gitea. С другой стороны, контейнер PostgreSQL будет управляться пользователем systemd-coredump, что является поведением по умолчанию. Вы можете изменить это поведение, но это не обязательно.

    Настройте свою установку Gitea

    Вы можете настроить установку Gitea, добавив файл app.ini в каталог ~/gitea-docker/gitea/gitea/conf. После установки этот файл можно редактировать внутри контейнера из расположения /data/gitea/conf/app.ini. Вы можете использовать образец ini-файла из репозитория Giteas Github для справки.

    Установить Гитею

    Выполните следующую команду, чтобы запустить контейнеры Gitea.

    $ docker-compose up -d
    

    Проверьте состояние контейнеров, чтобы убедиться, что они работают правильно.

    $ docker ps
    CONTAINER ID   IMAGE                COMMAND                  CREATED             STATUS             PORTS                                                                              NAMES
    bd06e370c46b   gitea/gitea:1.16.6   "/usr/bin/entrypoint…"   19 minutes ago   Up 19 minutes   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:2221->22/tcp, :::2221->22/tcp   gitea
    3fc6c4bce810   postgres:14          "docker-entrypoint.s…"   19 minutes ago   Up 19 minutes   5432/tcp                                                                           gitea_db_1
    

    Вы также можете использовать следующую команду для проверки состояния.

    $ docker-compose ps
       Name                 Command               State                                       Ports
    ------------------------------------------------------------------------------------------------------------------------------------
    gitea        /usr/bin/entrypoint /bin/s ...   Up      0.0.0.0:2221->22/tcp,:::2221->22/tcp, 0.0.0.0:3000->3000/tcp,:::3000->3000/tcp
    gitea_db_1   docker-entrypoint.sh postgres    Up      5432/tcp
    

    Шаг 5 — Установите SSL

    Чтобы установить SSL-сертификат с помощью Lets Encrypt, нам нужно установить инструмент Certbot.

    Во-первых, вам нужно скачать и установить репозиторий EPEL.

    $ sudo dnf install epel-release
    

    Выполните следующие команды, чтобы установить Certbot.

    $ sudo dnf install certbot
    

    Создайте SSL-сертификат.

    $ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m  -d gitea.example.com
    

    Приведенная выше команда загрузит сертификат в каталог /etc/letsencrypt/live/gitea.example.com на вашем сервере.

    Создайте групповой сертификат Диффи-Хеллмана.

    $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
    

    Создайте корневую веб-директорию для автоматического обновления Lets Encrypt.

    $ sudo mkdir -p /var/lib/letsencrypt
    

    Создайте задание Cron для обновления SSL. Он будет запускаться каждый день, чтобы проверять сертификат и при необходимости обновлять его. Для этого сначала создайте файл /etc/cron.daily/certbot-renew и откройте его для редактирования.

    $ sudo nano /etc/cron.daily/certbot-renew
    

    Вставьте следующий код.

    #!/bin/sh
    certbot renew --cert-name gitea.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
    

    Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

    Измените права доступа к файлу задачи, чтобы сделать его исполняемым.

    $ sudo chmod +x /etc/cron.daily/certbot-renew
    

    Шаг 6 — Установите Nginx

    Мы будем устанавливать последнюю версию Nginx. Создайте и откройте файл /etc/yum.repos.d/nginx.repo для редактирования.

    $ sudo nano /etc/yum.repos.d/nginx.repo
    

    Вставьте в него следующие строки.

    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    
    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    

    Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

    Установите Нгинкс.

    $ sudo dnf install nginx
    

    Проверьте установку.

    $ nginx -v
    nginx version: nginx/1.20.2
    

    Включите и запустите службу Nginx.

    $ sudo systemctl enable nginx --now
    

    Создайте и откройте файл /etc/nginx/conf.d/gitea.conf для редактирования.

    $ sudo nano /etc/nginx/conf.d/gitea.conf
    

    Вставьте в него следующий код.

    # Redirect all non-encrypted to encrypted
    server {
        listen 80;
        listen [::]:80;
        server_name gitea.example.com;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        
        server_name gitea.example.com;
    
        ssl_certificate     /etc/letsencrypt/live/gitea.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/gitea.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/gitea.example.com/chain.pem;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m;
        ssl_session_tickets off;
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
        
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    
        access_log /var/log/nginx/gitea.example.com.access.log main;
        error_log  /var/log/nginx/gitea.example.com.error.log;
    
        location / {
            client_max_body_size 100M;
            proxy_pass  http://localhost:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    

    После завершения сохраните файл, нажав Ctrl + X и введя Y при появлении запроса. Приведенная выше конфигурация позволяет Nginx действовать как прокси-сервер и привязываться к порту 3000 на локальном хосте. Чтобы включить загрузку больших файлов для Git LFS, вы можете изменить значение переменной client_max_body_size в соответствии с требованиями. Для нашего руководства мы используем 100 МБ в качестве ограничения.

    Откройте файл /etc/nginx/nginx.conf для редактирования.

    $ sudo nano /etc/nginx/nginx.conf
    

    Добавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.

    server_names_hash_bucket_size  64;
    

    Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

    Проверьте синтаксис файла конфигурации Nginx.

    $ sudo nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    Перезапустите службу Nginx, чтобы активировать новую конфигурацию.

    $ sudo systemctl restart nginx
    

    Шаг 7. Получите доступ и настройте Gitea

    Посетите URL-адрес https://gitea.example.com в своем браузере, и появится следующий экран установки.

    Большинство полей будут предварительно заполнены для вас на основе значений из файла компоновки Docker.

    Введите gitea.example.com в качестве домена сервера и https://gitea.example.com в качестве базового URL-адреса Gitea. Измените значение порта SSH-сервера с 22 на 2221. Остальные настройки оставьте без изменений.

    Если вы хотите использовать почтовые функции, вы можете добавить данные своего SMTP-сервера. Разверните раздел «Настройки электронной почты» на странице и введите значения, как показано на снимке экрана. Обязательно укажите свой SMTP-порт с именем хоста, как показано. В нашем руководстве мы используем сервис Amazon SES. Вы можете использовать любую службу SMTP по вашему выбору.

    Есть еще несколько настроек, которые вы должны проверить перед установкой. Чтобы изменить их, разверните раздел «Настройки сервера и сторонних служб» на странице.

    Измените настройки в соответствии с вашими требованиями. Мы включили параметр «Скрыть адреса электронной почты по умолчанию», чтобы обеспечить большую конфиденциальность. Если вы не хотите, чтобы люди регистрировали учетную запись, включите параметр «Отключить самостоятельную регистрацию».

    И последнее, но не менее важное: настройте учетную запись администратора. Разверните раздел «Параметры учетной записи администратора» на странице и введите необходимые значения.

    Нажмите кнопку «Установить Gitea», когда закончите, чтобы завершить установку. Вы будете перенаправлены на панель инструментов Gitea. Если по какой-то причине вы получаете ошибку 502, обновите страницу.

    Шаг 8 — Создайте первый репозиторий

    Давайте создадим наш первый репозиторий. Для этого нажмите значок + на панели инструментов.

    Введите данные репозитория. Выберите метку «Выпуск по умолчанию», выбрав из раскрывающегося меню. Выберите подходящую лицензию для вашего репозитория.

    Выберите ветку по умолчанию для вашего репозитория.

    Когда все будет готово, нажмите кнопку «Создать репозиторий», чтобы создать свой первый репозиторий в вашей установке Gitea. Вы будете перенаправлены на главную страницу вашего репозитория.

    Шаг 9 — Настройте SSH

    Давайте настроим SSH для использования с нашим недавно созданным репозиторием.

    Для нашего руководства мы будем использовать локальный ПК с предустановленной Ubuntu. Однако команды должны работать на любом терминале ОС без особых изменений.

    Создайте новый ключ SSH для использования с Gitea на локальном ПК.

    $ ssh-keygen -f ~/.ssh/gitea-demo -t rsa -b 4096 -C "HowtoForge Gitea Demo" -q -N "yourpassphrase"
    

    Введите надежный пароль вместо заполнителя в приведенной выше команде. Это создаст ключ SSH в расположении ~/.ssh/gitea-demo.

    Затем откройте настройки своего профиля Gitea, как показано, щелкнув раскрывающееся меню на изображении вашего профиля и выбрав параметр «Настройки».

    Затем перейдите на вкладку Ключи SSH/GPG на странице.

    Добавьте имя для вашего ключа SSH. Вернитесь к терминалу на локальном ПК и выполните следующую команду, чтобы вывести открытый ключ для Gitea.

    $ cat ~/.ssh/gitea-demo.pub
    

    Скопируйте полученный результат и вставьте его обратно в поле «Содержимое» на странице ключей SSH в Gitea.

    Нажмите кнопку «Добавить ключ», чтобы завершить добавление ключа.

    Вернитесь к своему локальному ПК и настройте агент SSH, чтобы он оставался активным в течение 1 часа.

    $ eval $(ssh-agent -t 3600)b
    

    Добавьте вновь созданный ключ SSH в агент SSH.

    $ ssh-add ~/.ssh/gitea-demo
    Enter passphrase for /home/navjot/.ssh/gitea-demo:
    Identity added: /home/navjot/.ssh/gitea-demo (HowtoForge Gitea Demo)
    

    Вам будет предложено ввести парольную фразу.

    Шаг 10 — Клонирование репозитория с помощью SSH

    Давайте клонируем только что созданный репозиторий с помощью SSH. Снова посетите страницу репозитория и скопируйте URL-адрес SSH после выбора параметра SSH.

    Это должно выглядеть следующим образом.

    ssh://:2221/navjot/howtoforge.git
    

    Выполните следующую команду на локальном ПК, чтобы клонировать репозиторий с помощью SSH.

    $ git clone ssh://:2221/navjot/howtoforge.git
    Cloning into 'howtoforge'...
    The authenticity of host '[gitea.example.com]:2221 ([209.23.11.75]:2221)' can't be established.
    ECDSA key fingerprint is SHA256:sN0N4OkpChwuR00xpGZU1mGJrp7ktwHRC7uxGP7Nh08.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '[gitea.example.com]:2221,[209.23.11.75]:2221' (ECDSA) to the list of known hosts.
    remote: Enumerating objects: 4, done.
    remote: Counting objects: 100% (4/4), done.
    remote: Compressing objects: 100% (3/3), done.
    remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (4/4), done.
    

    Вам будет предложено добавить учетные данные хоста. Введите yes, чтобы продолжить клонирование репозитория.

    Вы увидите клонированный репозиторий в своей системе.

    $ ls
    howtoforge
    

    Перейдите в каталог.

    $ cd howtoforge
    

    Проверьте статус Git только что клонированного репозитория. Для этого у вас должен быть установлен Git на вашем локальном ПК.

    $ git status
    On branch master
    Your branch is up to date with 'origin/master'.
    
    nothing to commit, working tree clean
    

    Отсюда следует, что SSH работает отлично.

    Шаг 11 — Тестирование первого коммита

    Теперь, когда мы настроили наш первый репозиторий, пришло время внести некоторые изменения и зафиксировать их обратно.

    Обновим файл README.md. На локальном компьютере откройте файл readme для редактирования.

    $ nano README.md
    

    Отредактируйте файл и, когда закончите, сохраните его, нажав Ctrl + X и введя Y при появлении запроса.

    Проверьте статус Git еще раз.

    $ git status
    On branch master
    Your branch is up to date with 'origin/master'.
    
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
            modified:   README.md
    
    no changes added to commit (use "git add" and/or "git commit -a")
    

    Это показывает, что файл Readme был отредактирован, но не зафиксирован. Добавьте файл, чтобы подготовить его к фиксации.

    $ git add README.md
    

    Зафиксируйте файл.

    $ git commit -m "Update the Readme file for Gitea tutorial."
    [master 5e9b039] Update the Readme file for Gitea tutorial.
     1 file changed, 3 insertions(+), 1 deletion(-)
    

    Отправьте файл на свой сервер Gitea.

    $ git push origin master
    Enumerating objects: 5, done.
    Counting objects: 100% (5/5), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 392 bytes | 392.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    remote: . Processing 1 references
    remote: Processed 1 references in total
    To ssh://gitea.example.com:2221/navjot/howtoforge.git
       a61dfce..5e9b039  master -> master
    

    Для подтверждения вернитесь на страницу репозитория Gitea.

    Вы можете заметить, что файл Readme был обновлен, а также показано последнее сообщение фиксации. Чтобы просмотреть изменения, щелкните сообщение фиксации, и вы сможете просмотреть следующую страницу с различиями.

    На этом мы завершаем нашу первую фиксацию для нашего репозитория. Вы можете начать работу над установкой Gitea для своих проектов.

    Шаг 12 - Обновите Gitea

    Обновление Gitea — простой процесс.

    Выключите и удалите существующие контейнеры. Поскольку данные сохраняются вне контейнеров на хосте, они будут сохранены.

    $ cd ~/gitea-docker
    $ docker-compose down --remove-orphans
    

    Откройте файл docker-compose.yml и измените версию контейнера Gitea. Затем извлеките новый образ Gitea.

    $ docker pull
    

    Запустите новые контейнеры.

    $ docker-compose up -d
    

    Проверьте статус.

    $ docker ps
    

    Заключение

    На этом мы завершаем наше руководство, в котором мы установили службу хостинга Gitea Code с помощью Docker на сервере Rocky Linux. Мы также установили сервер Nginx в качестве прокси-сервера и представили Gitea через общедоступный URL-адрес с использованием SSL. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.