Image autobuild #1
							
								
								
									
										8
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| node_modules | ||||
| .git | ||||
| .gitignore | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
| *.md | ||||
| dist | ||||
							
								
								
									
										51
									
								
								.gitea/workflows/publish.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								.gitea/workflows/publish.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| name: release-tag | ||||
|  | ||||
| on: | ||||
|   push | ||||
|  | ||||
| jobs: | ||||
|   release-image: | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: catthehacker/ubuntu:act-latest | ||||
|     env: | ||||
|       DOCKER_ORG: krbl | ||||
|       DOCKER_LATEST: nightly | ||||
|       RUNNER_TOOL_CACHE: /toolcache | ||||
|       IMAGE_NAME: white-nights-ts | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Set up QEMU | ||||
|         uses: docker/setup-qemu-action@v2 | ||||
|  | ||||
|       - name: Set up Docker BuildX | ||||
|         uses: docker/setup-buildx-action@v2 | ||||
|         with: | ||||
|           config-inline: | | ||||
|             [registry."gitea.unprism.ru"]                                 | ||||
|  | ||||
|       - name: Login to DockerHub | ||||
|         uses: docker/login-action@v2 | ||||
|         with: | ||||
|           registry: gitea.unprism.ru | ||||
|           username: ${{ secrets.DOCKER_USERNAME }} | ||||
|           password: ${{ secrets.DOCKER_PASSWORD }} | ||||
|  | ||||
|       - name: Get Meta | ||||
|         id: meta | ||||
|         run: | | ||||
|           echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT | ||||
|           echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT                                     | ||||
|  | ||||
|       - name: Build and push | ||||
|         uses: docker/build-push-action@v4 | ||||
|         with: | ||||
|           context: . | ||||
|           file: ./Dockerfile | ||||
|           platforms: | | ||||
|             linux/amd64 | ||||
|           push: true | ||||
|           tags: | | ||||
|             gitea.unprism.ru/${{ env.DOCKER_ORG }}/${{ env.IMAGE_NAME }}:${{ env.DOCKER_LATEST }}                         | ||||
							
								
								
									
										21
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| FROM node:lts-alpine AS builder | ||||
|  | ||||
| WORKDIR /app | ||||
|  | ||||
| COPY package.json package-lock.json ./ | ||||
|  | ||||
| RUN npm ci | ||||
|  | ||||
| COPY . . | ||||
|  | ||||
| RUN npm run build | ||||
|  | ||||
| FROM nginx:alpine | ||||
|  | ||||
| COPY nginx.conf /etc/nginx/conf.d/default.conf | ||||
|  | ||||
| COPY --from=builder /app/dist /usr/share/nginx/html | ||||
|  | ||||
| EXPOSE 80 | ||||
|  | ||||
| CMD ["nginx", "-g", "daemon off;"] | ||||
							
								
								
									
										34
									
								
								nginx.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								nginx.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| server { | ||||
|     listen 80; | ||||
|     server_name localhost; # Замените на ваш домен, если необходимо | ||||
|  | ||||
|     # Корневая директория для статических файлов | ||||
|     root /usr/share/nginx/html; | ||||
|     index index.html; | ||||
|  | ||||
|     location / { | ||||
|         # Важно для Single Page Applications (SPA) вроде Vue | ||||
|         # Пытается отдать файл по $uri, затем директорию $uri/, | ||||
|         # иначе отдает /index.html (чтобы Vue Router обработал маршрут) | ||||
|         try_files $uri $uri/ /index.html; | ||||
|     } | ||||
|  | ||||
|     # Опционально: gzip сжатие для улучшения производительности | ||||
|     gzip on; | ||||
|     gzip_vary on; | ||||
|     gzip_proxied any; | ||||
|     gzip_comp_level 6; | ||||
|     gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml; | ||||
|  | ||||
|     # Опционально: Заголовки кэширования для статических ассетов | ||||
|     location ~* \.(?:jpg|jpeg|gif|png|ico|css|js|svg|woff|woff2|ttf|eot)$ { | ||||
|         expires 1y; | ||||
|         add_header Cache-Control "public"; | ||||
|     } | ||||
|  | ||||
|     # Опционально: Обработка ошибок (рекомендуется) | ||||
|     error_page 500 502 503 504 /50x.html; | ||||
|     location = /50x.html { | ||||
|         root /usr/share/nginx/html; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user