+ docker files
This commit is contained in:
parent
5a76a2b110
commit
5bfd1aef44
12 changed files with 99 additions and 120 deletions
36
.github/workflows/docker.yml
vendored
Normal file
36
.github/workflows/docker.yml
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
name: docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "docker/README.md"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: ./docker/development
|
||||
build-args: |
|
||||
VERSION=0.9.1
|
||||
ARCH=amd64
|
||||
push: true
|
||||
tags: yaoapp/yao:0.9.1-amd64-dev
|
||||
1
docker/README.md
Normal file
1
docker/README.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Version
|
||||
30
docker/development/Dockerfile
Normal file
30
docker/development/Dockerfile
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# ===========================================
|
||||
# Yao Development
|
||||
# docker build \
|
||||
# --build-arg VERSION="${VERSION}" \
|
||||
# --build-arg ARCH="${ARCH}" \
|
||||
# -t yaoapp/yao-dev:${VERSION}-${ARCH} .
|
||||
#
|
||||
# Build:
|
||||
# docker build --build-arg VERSION=0.9.1 --build-arg ARCH=amd64 -t yaoapp/yao:0.9.1-amd64-dev .
|
||||
# docker build --build-arg VERSION=0.9.1 --build-arg ARCH=arm64 -t yaoapp/yao:0.9.1-arm64-dev .
|
||||
#
|
||||
# Tests:
|
||||
# docker run --rm yaoapp/yao:0.9.1-amd64-dev yao version
|
||||
# docker run -d -p 5099:5099 yaoapp/yao:0.9.1-amd64-dev
|
||||
#
|
||||
# ===========================================
|
||||
FROM ubuntu:20.04
|
||||
ARG VERSION
|
||||
ARG ARCH
|
||||
RUN groupadd -r yao && useradd -r -g yao yao && \
|
||||
apt-get update && \
|
||||
apt-get install -y curl sudo procps net-tools
|
||||
RUN curl -fsSL "https://release-sv.yaoapps.com/archives/yao-${VERSION}-linux-${ARCH}" > /usr/local/bin/yao && \
|
||||
chmod +x /usr/local/bin/yao && \
|
||||
mkdir -p /data/app
|
||||
|
||||
VOLUME /data/app
|
||||
WORKDIR /data/app
|
||||
EXPOSE 5099
|
||||
CMD ["tail", "-f","/dev/null"]
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
# ===========================================
|
||||
# Yao 0.9.11 + MySQL 8.0.27
|
||||
# docker build -t yaoapp/yao-mysql:0.9.11 .
|
||||
# ===========================================
|
||||
FROM mysql:8.0.27
|
||||
ENV MYSQL_ROOT_PASSWORD=123456 MYSQL_DATABASE=yao
|
||||
RUN groupadd -r yao && useradd -r -g yao yao
|
||||
RUN sed -i 's#http://deb.debian.org#http://mirrors.163.com#g' /etc/apt/sources.list
|
||||
RUN apt-get update && apt-get install -y curl supervisor sudo procps net-tools
|
||||
RUN mkdir -p /data/app && mkdir -p /data/app/db && mkdir -p /data/logs && chown -R yao:yao /data
|
||||
RUN echo user=root >> /etc/supervisor/supervisord.conf
|
||||
RUN curl -fsSL https://demo-crm.iqka.com/releases/0.9.11/install.sh | bash
|
||||
|
||||
COPY conf/yao.conf /etc/supervisor/conf.d/yao.conf
|
||||
# COPY conf/yao.env /data/app/.env
|
||||
COPY conf/mysqld.conf /etc/supervisor/conf.d/mysqld.conf
|
||||
|
||||
VOLUME /data/app
|
||||
EXPOSE 3306 33060 5099 3321
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
CMD ["/usr/bin/supervisord", "-n"]
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[program:mysqld]
|
||||
directory=/
|
||||
command=mysqld
|
||||
process_name=mysqld
|
||||
numprocs=1
|
||||
autostart=true
|
||||
autorestart=true
|
||||
user=mysql
|
||||
group=mysql
|
||||
redirect_stderr=true
|
||||
stdout_logfile=/data/logs/mysqld-supervisor.log
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[program:yao-server]
|
||||
directory=/data/app
|
||||
command=/usr/local/bin/yao start
|
||||
process_name=yao-server
|
||||
numprocs=1
|
||||
autostart=true
|
||||
autorestart=true
|
||||
user=yao
|
||||
group=yao
|
||||
redirect_stderr=true
|
||||
stdout_logfile=/data/logs/yao-supervisor.log
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
XIANG_MODE="debug"
|
||||
|
||||
# 服务器配置
|
||||
XIANG_SERVICE_HOST=0.0.0.0
|
||||
XIANG_SERVICE_PORT=5099
|
||||
XIANG_SESSION_PORT=3321
|
||||
|
||||
# 数据库配置
|
||||
XIANG_DB_DEBUG=true
|
||||
XIANG_DB_AESKEY="ZLX=T&f6refeCh-ro*r@"
|
||||
|
||||
# 数据库
|
||||
XIANG_DB_DRIVER=mysql
|
||||
XIANG_DB_PRIMARY="root:123456@tcp(127.0.0.1:3306)/yao?charset=utf8mb4&parseTime=True&loc=Local"
|
||||
XIANG_DB_SECONDARY="root:123456@tcp(127.0.0.1:3306)/yao?charset=utf8mb4&parseTime=True&loc=Local"
|
||||
|
||||
# JWT配置
|
||||
XIANG_JWT_DEBUG=true
|
||||
XIANG_JWT_SECRET="bLp@bi!oqo-2U+hoTRUG"
|
||||
32
docker/production/Dockerfile
Normal file
32
docker/production/Dockerfile
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# ===========================================
|
||||
# Yao Production
|
||||
# docker build \
|
||||
# --build-arg VERSION="${VERSION}" \
|
||||
# --build-arg ARCH="${ARCH}" \
|
||||
# -t yaoapp/yao-dev:${VERSION}-${ARCH} .
|
||||
#
|
||||
# Build:
|
||||
# docker build --build-arg VERSION=0.9.1 --build-arg ARCH=amd64 -t yaoapp/yao:0.9.1-amd64 .
|
||||
# docker build --build-arg VERSION=0.9.1 --build-arg ARCH=arm64 -t yaoapp/yao:0.9.1-arm64 .
|
||||
#
|
||||
# Tests:
|
||||
# docker run --rm yaoapp/yao:0.9.1-amd64 yao version
|
||||
# docker run -d -p 5099:5099 yaoapp/yao:0.9.1-amd64
|
||||
#
|
||||
# ===========================================
|
||||
FROM alpine:latest
|
||||
ARG VERSION
|
||||
ARG ARCH
|
||||
RUN apk --no-cache add curl
|
||||
RUN curl -fsSL "https://release-sv.yaoapps.com/archives/yao-${VERSION}-linux-${ARCH}" > /usr/local/bin/yao && \
|
||||
chmod +x /usr/local/bin/yao
|
||||
RUN mkdir -p /data/app && \
|
||||
cd /data/app && /usr/local/bin/yao init && \
|
||||
cd /data/app && /usr/local/bin/yao migrate && \
|
||||
cd /data/app && /usr/local/bin/yao run flows.setmenu && \
|
||||
sed -i 's/development/production/g' /data/app/.env
|
||||
|
||||
VOLUME /data/app
|
||||
WORKDIR /data/app
|
||||
EXPOSE 5099
|
||||
CMD ["/usr/local/bin/yao", "start"]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash
|
||||
# version cat /etc/issue
|
||||
apt-get update
|
||||
apt-get -y install curl vim git iputils-ping build-essential gcc-arm-linux-gnueabi
|
||||
|
||||
# Install Go
|
||||
cd /usr/local && tar xvfz /code/xiang/docker/go1.17.3.linux-amd64.tar.gz
|
||||
ln -s /usr/local/go/bin/go /usr/local/bin/go
|
||||
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
|
||||
|
||||
# Install Node
|
||||
|
||||
export GO111MODULE="on"
|
||||
export GOPATH="/root/go"
|
||||
export GOPROXY="https://goproxy.cn"
|
||||
export http_proxy="socks5://192.168.199.178:1080"
|
||||
export https_proxy="socks5://192.168.199.178:1080"
|
||||
export NODE_OPTIONS="--max-old-space-size=5120"
|
||||
export PATH=~/go/bin:$PATH
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
# ===========================================
|
||||
# Yao 0.9.0+ MySQL 8.0.27
|
||||
# docker build -t yaoapp/yao:0.9.0 .
|
||||
# ===========================================
|
||||
FROM debian:buster-slim
|
||||
RUN groupadd -r yao && useradd -r -g yao yao
|
||||
RUN sed -i 's#http://deb.debian.org#http://mirrors.163.com#g' /etc/apt/sources.list && \
|
||||
apt-get update && apt-get install -y curl supervisor sudo procps net-tools && \
|
||||
mkdir -p /data/app && \
|
||||
# mkdir -p /data/logs && \
|
||||
# mkdir -p /data/app/db && \
|
||||
# chown -R yao:yao /data && \
|
||||
# echo user=root >> /etc/supervisor/supervisord.conf && \
|
||||
curl -fsSL https://release.yaoapps.com/install.sh | bash
|
||||
|
||||
# COPY conf/yao.conf /etc/supervisor/conf.d/yao.conf
|
||||
# COPY conf/yao.env /data/app/.env
|
||||
VOLUME /data/app
|
||||
EXPOSE 5099 3321
|
||||
ENTRYPOINT ["tail"]
|
||||
CMD ["-f","/dev/null"]
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[program:yao-server]
|
||||
directory=/data/app
|
||||
command=/usr/local/bin/yao start
|
||||
process_name=yao-server
|
||||
numprocs=1
|
||||
autostart=true
|
||||
autorestart=true
|
||||
user=yao
|
||||
group=yao
|
||||
redirect_stderr=true
|
||||
stdout_logfile=/data/logs/yao-supervisor.log
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
YAO_ENV=production
|
||||
YAO_JWT_SECRET="qffgameana6VLuw4LZ?x"
|
||||
YAO_HOST=0.0.0.0
|
||||
YAO_PORT=5099
|
||||
YAO_LOG="/data/app/logs/application.log"
|
||||
YAO_DB_DRIVER=sqlite3
|
||||
YAO_DB_PRIMARY="/data/app/db/yao.db"
|
||||
Loading…
Add table
Reference in a new issue