Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nekoimi/webapp
简化部署web项目运行环境
https://github.com/nekoimi/webapp
docker docker-compose golang react vue
Last synced: 23 days ago
JSON representation
简化部署web项目运行环境
- Host: GitHub
- URL: https://github.com/nekoimi/webapp
- Owner: nekoimi
- License: mit
- Created: 2022-12-14T15:04:10.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-14T08:17:15.000Z (2 months ago)
- Last Synced: 2024-10-08T13:16:58.333Z (about 1 month ago)
- Topics: docker, docker-compose, golang, react, vue
- Language: Go
- Homepage:
- Size: 42 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📦 docker webapp
一个简化部署的web项目运行环境,web项目docker化,简化不同环境的部署。
前端web项目打包好之后生成的dist中相关的后端API、环境变量配置都已写到相关代码中,
在docker化之后切换环境部署的时候非常不方便,需要重新构建项目生成对应环境的dist,
也许不同环境的唯一区别就是后端服务器的API地址不一样。这里使用配置环境变量的方式,
在项目启动的时候,自动根据环境变量来替换相关的配置,达到一处构建处处部署的目的,
简化项目部署。[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/nekoimi/webapp/latest)](https://hub.docker.com/r/nekoimi/webapp)
[![Docker Pulls](https://img.shields.io/docker/pulls/nekoimi/webapp)](https://hub.docker.com/r/nekoimi/webapp)# 📥 Download
### Docker Image
```bash
docker pull ghcr.io/nekoimi/webapp:latest
```
# 🛠️ 使用
- 项目打包时,约定配置对应的环境变量名称,将环境变量名称作为配置打包进dist
- 在启动docker image的时候,以`WEBAPP_ENV.`为环境变量前缀设置对应的环境变量值即可
### 例子
生成dist产物例子: [repo](https://github.com/nekoimi/webapp.git)
step1:
```bash
git clone https://github.com/nekoimi/webapp.git
```step2:
```base
docker-compose up -d
```step3:
浏览器打开默认访问链接[http://127.0.0.1](http://127.0.0.1)查看应用
### Using Docker Image
### docker compose
```bash
version: "3.6"
services:
test:
image: ghcr.io/nekoimi/webapp:latest
ports:
- "80:80"
environment:
WEBAPP_ENV.API_SERVER_URL: http://127.0.0.1/api
WEBAPP_ENV.APP_NAME: 测试web
WEBAPP_ENV.BACKGROUND_IMAGE: image.png
WEBAPP_ENV.BASE_URL: /baseurl/
WEBAPP_ENV.USERNAME: user001
WEBAPP_ENV.PASSWORD: user001_pwd
volumes:
- ./example:/workspace```
### 项目构建
``` bash
# Dockerfile
FROM ghcr.io/nekoimi/webapp:latestCOPY /dist /workspace
```
# 📄 License
[MIT License](#LICENSE)