add docs and config in container, refactor dockerfile and pipline #16

Merged
sailor merged 1 commits from builder-local into main 2026-07-11 17:58:20 +03:00
6 changed files with 97 additions and 7 deletions
Showing only changes of commit f8a3fc4cd3 - Show all commits
@@ -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
sudo docker run -p 8000:8000 gitea.trastinfo.ru/sailor/mkdocs:latest
-3
View File
@@ -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"
+2
View File
@@ -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"]
+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"