34 Commits

Author SHA1 Message Date
sailor 7c2e6b6ecc add docs and config in container, refactor dockerfile and pipline
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Successful in 17s
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #16
2026-07-11 17:58:19 +03:00
trustdev_admin f8a3fc4cd3 add docs and config in container, refactor dockerfile and pipline 2026-07-11 17:57:58 +03:00
sailor 9b5aec1c96 Merge pull request 'fix job more' (#11) from builder-local into main
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Successful in 18s
Reviewed-on: #11
2026-07-10 22:33:48 +03:00
trustdev_admin 8eae5f1a10 fix job more 2026-07-10 22:33:35 +03:00
sailor 1cfe24037c fix deploy again
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #10
2026-07-10 22:28:10 +03:00
trustdev_admin 8c8ea75d69 fix deploy again 2026-07-10 22:27:53 +03:00
sailor 958dcab3fa Merge pull request 'test deploy' (#9) from builder-local into main
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #9
2026-07-10 22:23:13 +03:00
trustdev_admin 797ad67b90 test deploy 2026-07-10 22:22:53 +03:00
sailor 5f2ba688e9 fix need deploy
Docker Build and Push / need-build (push) Successful in 3s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Has been skipped
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #8
2026-07-10 22:18:36 +03:00
trustdev_admin 9dcf1f829b fix need deploy 2026-07-10 22:18:19 +03:00
sailor 5d64ae8732 ci and schemas
Docker Build and Push / need-build (push) Successful in 4s
Docker Build and Push / need-deploy (push) Successful in 3s
Docker Build and Push / build (push) Successful in 13s
Docker Build and Push / deploy (push) Has been skipped
Reviewed-on: #7
2026-07-10 22:17:01 +03:00
trustdev_admin 2b2daa5117 add sudo 2026-07-10 22:12:19 +03:00
trustdev_admin cf1b161794 add plantuml schemas 2026-07-10 22:10:23 +03:00
trustdev_admin baf27b42bb add ci checker from need build and deploy 2026-07-10 22:10:06 +03:00
trustdev_admin 6627a62853 add ci depoy satge 2026-07-10 21:47:25 +03:00
sailor 348a9bbe73 add compose and add ci filter
Docker Build and Push / check-changes (push) Successful in 16s
Docker Build and Push / build (push) Has been skipped
Reviewed-on: #6
2026-07-10 12:44:50 +03:00
trustdev_admin 20a1c062e3 ci 2026-07-10 12:43:43 +03:00
trustdev_admin 7bef51f350 add compose and add ci filter 2026-07-10 12:42:00 +03:00
sailor a912d08482 Merge pull request 'add compose and fix dockerfile' (#5) from builder-local into main
Docker Build and Push / build (push) Successful in 18s
Reviewed-on: #5
2026-07-09 20:33:59 +03:00
trustdev_admin 4255c00ba0 add compose and fix dockerfile 2026-07-09 20:33:26 +03:00
sailor 3d8de18123 Merge pull request 'refactor ci' (#4) from builder-local into main
Docker Build and Push / build (push) Successful in 14s
Reviewed-on: #4
2026-07-09 20:21:13 +03:00
trustdev_admin 26203c617d refactor ci 2026-07-09 20:20:25 +03:00
sailor 5daef4f2d5 Merge pull request 'add local registry' (#3) from builder-local into main
Docker Build and Push / build (push) Successful in 1m37s
Reviewed-on: #3
2026-07-09 14:45:51 +03:00
trustdev_admin 49a5c19f6c add local registry 2026-07-09 14:45:32 +03:00
sailor 6668f65528 fix registru from build
Docker Build and Push / build (push) Failing after 8m13s
Reviewed-on: #2
2026-07-09 14:24:47 +03:00
trustdev_admin 4e205e0eae fix registru from build 2026-07-09 14:24:08 +03:00
sailor ebd04134bf new ci
Docker Build and Push / build (push) Failing after 9m34s
Reviewed-on: #1
2026-07-09 13:58:58 +03:00
trustdev_admin 89815ffe55 new ci 2026-07-09 13:44:56 +03:00
trustdev_admin 011287ba4f push
ci / deploy (push) Successful in 2m38s
2026-07-09 13:14:44 +03:00
trustdev_admin ef784f00d8 Merge pull request #5 from SailorUpiter/refactor
add composes and docker registry
2026-07-09 10:18:29 +03:00
trustdev_admin 9863bfdf7d Merge pull request #4 from SailorUpiter/refactor
remove trash
2026-07-08 17:58:41 +03:00
trustdev_admin 3806c5c2cc Merge pull request #3 from SailorUpiter/refactor
Refactor
2026-05-21 07:23:38 +03:00
trustdev_admin 35ff8bc862 Merge pull request #2 from SailorUpiter/refactor
Refactor
2026-05-13 07:34:19 +03:00
trustdev_admin d3a695bde9 Merge pull request #1 from SailorUpiter/opensearch
Opensearch
2026-04-02 07:44:46 +03:00
14 changed files with 268 additions and 45 deletions
+89
View File
@@ -0,0 +1,89 @@
name: Docker Build and Push # Имя CI джобы
on: # Выполняется если производится push в ветку main
push:
branches: [ main ]
env: # Переменные окружения
REGISTRY: gitea.trastinfo.ru
IMAGE_NAME: sailor/mkdocs
PLATFORMS: linux/amd64,linux/arm64
jobs: # Список выполняемых джоб
need-build: # джоба проверки изменений в зависимостях. Если requirements.txt был изменен, то будет выполнена сборка и пуш образа
runs-on: ubuntu-latest
outputs:
src_changed: ${{ steps.need-build.outputs.src }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: need-build
with:
filters: |
src:
- 'requirements.txt'
- 'dockerfile'
need-deploy: # джоба проверки изменений в файлах. При изменении пулит новые файлы и перезапускает контейнер
runs-on: ubuntu-latest
outputs:
src_changed: ${{ steps.need-deploy.outputs.src }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: need-deploy
with:
filters: |
src:
- 'docs/*'
- 'mkdocs.yml'
build: # джоба сборки и пуша образа. Выполняется если проверка изменений показала что requirements.txt был изменен
needs: need-build
if: needs.need-build.outputs.src_changed == 'true'
runs-on: ubuntu-latest
steps:
- name: Login to Gitea Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Checkout code
uses: actions/checkout@v4
with:
ref: main
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push multi-arch image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
deploy:
runs-on: ubuntu-latest
needs: need-deploy
if: needs.need-deploy.outputs.src_changed == 'true'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Deploy over SSH
uses: appleboy/ssh-action@v0.1.6
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.KEY }}
script: |
sudo docker run -p 8000:8000 gitea.trastinfo.ru/sailor/mkdocs:latest
-29
View File
@@ -1,29 +0,0 @@
name: ci
on:
push:
branches:
- master
- main
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install -r requirements.txt
- run: mkdocs gh-deploy --force
+6
View File
@@ -0,0 +1,6 @@
services:
mkdocks:
image: gitea.trastinfo.ru/sailor/mkdocs:latest
restart: always
ports:
- "8000:8000"
+4 -3
View File
@@ -1,4 +1,4 @@
FROM docker.io/library/python:alpine
FROM gitea.trastinfo.ru/sailor/pyhton:0.1
WORKDIR /home/ubadmin/mkdocks
COPY ./requirements.txt .
RUN apk add --update --no-cache --virtual .build-deps gcc musl-dev &&\
@@ -6,7 +6,9 @@ RUN apk add --update --no-cache --virtual .build-deps gcc musl-dev &&\
pip install --no-cache-dir --requirement ./requirements.txt &&\
apk del .build-deps &&\
rm ./requirements.txt
WORKDIR /d
WORKDIR /mkdocs
COPY mkdocs.yml /mkdocs/mkdocs.yml
COPY docs/* /mkdocs/docs/
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]
@@ -16,4 +18,3 @@ CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]
-10
View File
@@ -1,10 +0,0 @@
# Планы для Sailor.lab
~~1) Развернуть vault~~
2) Выбрать систему мониторинга
3) Настроить бекапы
4) Установить ubuntu на старый комп
5) Подумать над переделкой шаблона as a service?
6) Добавить диск и маунт диска для логов
7) Настроить Vault
8) Сделать дашборд для веб панелей
9) Развернуть opensearch
+1
View File
@@ -1 +1,2 @@
Стартовая страница
1
+9
View File
@@ -0,0 +1,9 @@
services:
mkdocks:
image: gitea.trastinfo.ru/sailor/mkdocs:latest
restart: always
volumes:
- ./mkdocs.yml:/mkdocs/mkdocs.yml
- ./docs:/mkdocs/docs
ports:
- "8000:8000"
+27
View File
@@ -0,0 +1,27 @@
@startuml
!theme bluegray
title Схема доступа к Vm через Proxy
node "Proxy" as proxy
node "Master-1" as m1
node "Master-2" as m2
node "Master-3" as m3
node "Worker-1" as w1
node "Worker-2" as w2
node "Worker-3" as w3
node "Docker" as d1
proxy -down-> m1
proxy -down-> m2
proxy -down-> m3
proxy -down-> w1
proxy -down-> w2
proxy -down-> w3
proxy -down-> d1
@enduml
+38
View File
@@ -0,0 +1,38 @@
@startuml
!theme bluegray
title Схема Кластера Кубера
node "Proxy" as proxy
node "Мастер-ноды" {
[Master-1]
[Master-2]
[Master-3]
}
node "Воркер-ноды" {
[Worker-1]
[Worker-2]
[Worker-3]
}
proxy --> [Master-1]
proxy --> [Master-2]
proxy --> [Master-3]
[Master-1] --> [Worker-1]
[Master-1] --> [Worker-2]
[Master-1] --> [Worker-3]
[Master-2] --> [Worker-1]
[Master-2] --> [Worker-2]
[Master-2] --> [Worker-3]
[Master-3] --> [Worker-1]
[Master-3] --> [Worker-2]
[Master-3] --> [Worker-3]
@enduml
+24
View File
@@ -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
```
+42
View File
@@ -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 и настраиваем учетку и тд.
+27
View File
@@ -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"
-2
View File
@@ -22,8 +22,6 @@ theme:
- navigation.instant
- navigation.instant.progress
- navigation.sections
# - navigation.tabs
# - navigation.tabs.sticky
- navigation.path
- navigation.top
- navigation.prune