diff --git a/.github/workflows/ci.yml b/.gitea/workflows/ci.yml similarity index 95% rename from .github/workflows/ci.yml rename to .gitea/workflows/ci.yml index 9f33ef2..f8865c8 100644 --- a/.github/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -22,6 +22,7 @@ jobs: # Список выполняемых джоб filters: | src: - 'requirements.txt' + - 'dockerfile' need-deploy: # джоба проверки изменений в файлах. При изменении пулит новые файлы и перезапускает контейнер runs-on: ubuntu-latest @@ -85,7 +86,4 @@ jobs: # Список выполняемых джоб username: ${{ secrets.USER }} key: ${{ secrets.KEY }} script: | - cd /home/ubadmin/mkdocs - git pull origin main - sudo docker compose down - sudo docker compose up -d --build \ No newline at end of file + sudo docker run -p 8000:8000 gitea.trastinfo.ru/sailor/mkdocs:latest \ No newline at end of file diff --git a/compose.yaml b/compose.yaml index b87b87a..8f5732b 100644 --- a/compose.yaml +++ b/compose.yaml @@ -2,8 +2,5 @@ services: mkdocks: image: gitea.trastinfo.ru/sailor/mkdocs:latest restart: always - volumes: - - ./mkdocs.yml:/mkdocs/mkdocs.yml - - ./docs:/mkdocs/docs ports: - "8000:8000" \ No newline at end of file diff --git a/dockerfile b/dockerfile index 83fd79c..be3994a 100644 --- a/dockerfile +++ b/dockerfile @@ -7,6 +7,8 @@ RUN apk add --update --no-cache --virtual .build-deps gcc musl-dev &&\ apk del .build-deps &&\ rm ./requirements.txt WORKDIR /mkdocs +COPY mkdocs.yml /mkdocs/mkdocs.yml +COPY docs/* /mkdocs/docs/ CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"] diff --git a/docs/Заметки/gitea/registry.md b/docs/Заметки/gitea/registry.md new file mode 100644 index 0000000..6d7fe4a --- /dev/null +++ b/docs/Заметки/gitea/registry.md @@ -0,0 +1,24 @@ +# Registry and local push +Gitea позволяет хранить свои образы контейнеров. Это позволяет не прибегать к dockerhub и не ставить еще и отдельную хранилку образов. Эта функция включена по умолчанию в новых версиях. +Для того что бы запушить образ требуется авторизоваться в регистри. Для этого нам требуется сгенерить токен доступа для регистри. +Что бы сгенерить токен переходим в настройки нашей Учетки (не репозитория) https://gitea.trastinfo.ru/user/settings/applications +Далее нажимаем создать новый токен. Пишем имя токена и выбираем доступа для токена. Для пайплайна нам требуется доступ к чтению repository и чтение\запись к package (Это как раз и есть registry) +Логинимся в gita +``` +docker login gitea.trastinfo.ru --username sailor --password 5968ad45678afc6dc2f41b2ff389ca10fc982170 +``` +gitea.trastinfo.ru - Наша gitea +--username sailor - Юзер под которым логинемся +--password 5968ad45678afc6dc2f41b2ff389ca10fc982170 вместо пароля ставим токен, который мы сгенерили +Собираем образ. Есть две особенности на которые надо обратить внимание: +- Именование образов +- слеш (/) при указании тега +Именование образов имеет формат {registry}/{owner}/{image}:{tag} + +``` +docker build -t gitea.trastinfo.ru/sailor/sailor-doc:0.01 -f dockerfile +``` +После билда пушим образ +``` +docker push gitea.trastinfo.ru/sailor/sailor-doc:0.01 +``` \ No newline at end of file diff --git a/docs/Заметки/proxy/NPM.md b/docs/Заметки/proxy/NPM.md new file mode 100644 index 0000000..ff892e7 --- /dev/null +++ b/docs/Заметки/proxy/NPM.md @@ -0,0 +1,42 @@ +# NPM +Краткая инструкция как поднять и настроить NPM +Ссылки +Гайд с оф сайта https://nginxproxymanager.com/guide/ +Гитхаб https://github.com/NginxProxyManager/nginx-proxy-manager +Для начала заходим на сервак и ставим докер. +``` +curl https://get.docker.com | sh - +``` +Далее создаем директорию под NPM. Директорию лучше не называть npm, что бы не путать с пакетным менджером +``` +mkdir proxy && cd proxy +``` +Создаем compose.yaml +``` +nano compose.yaml +``` +И записываем туда конфиг для композа +``` +services: + app: + image: 'jc21/nginx-proxy-manager:2.15.1' #Можно посмотреть севужую версию на https://github.com/NginxProxyManager/nginx-proxy-manager + restart: unless-stopped + environment: + TZ: "Europe/Moscow" + ports: + - '80:80' + - '81:81' #Порт веб панели администратора, лучше поменять на свой + - '443:443' + volumes: #Директории для сертов и данных, создадутся в рабочем каталоге + - ./data:/data + - ./letsencrypt:/etc/letsencrypt +``` +Разрешаем трафик по этим портам +``` +sudo iptables -A INPUT -p tcp -i eth0 --dport 80,443,81 -j ACCEPT +``` +Поднимаем контейнер композом +``` +docker compose up -d +``` +Заходим в вебку админа по ip-server:81 и настраиваем учетку и тд. \ No newline at end of file diff --git a/k8s/mkdocs.yaml b/k8s/mkdocs.yaml new file mode 100644 index 0000000..eb21223 --- /dev/null +++ b/k8s/mkdocs.yaml @@ -0,0 +1,27 @@ +# deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sailor-mkdocs # Имя вашего развертывания +spec: + replicas: 2 # Желаемое количество запущенных экземпляров (подов) + selector: + matchLabels: + app: sailor-mkdocs # Как Deployment будет находить свои поды + template: + metadata: + labels: + app: sailor-mkdocs # Метка, которая будет присвоена подам + spec: + containers: + - name: mkdocs + image: gitea.trastinfo.ru/sailor/mkdocs:5d64ae8732c674d0e6d5132a0e8c7db1c4acc790 # ПУТЬ К ВАШЕМУ ОБРАЗУ! + ports: + - containerPort: 8000 # Порт, который слушает ваше приложение внутри контейнера + resources: # Рекомендуется указывать для планирования ресурсов + requests: + memory: "128Mi" + cpu: "100m" + limits: + memory: "256Mi" + cpu: "250m" \ No newline at end of file