전개
월웹
샘플 명령
옵션 1
옵션 2
도커 이미지
지원되는 플랫폼
도커 실행
도커파일
Makefile로 빌드(권장)
수동 설치 및 빌드
Docker Compose를 사용하여 빌드(더 쉬움)
골랭 이미지:
nodejs 이미지:
프런트엔드
데이터 베이스
백엔드
API 문서
docker compose로 백엔드 실행
사용 사례
UI
개발하다
도커 환경
프런트엔드 구축
백엔드
전개
환경 변수
wakeonlan을 위해 로컬로 호스팅되는 웹 앱은 개인 네트워크의 컴퓨터를 켭니다.
VPN을 사용하면 브라우저에서 클릭 한 번으로 네트워크에 접속하여 컴퓨터의 절전 모드를 해제할 수 있습니다.
프런트엔드: Vue.js + TypeScript
백엔드: golang + 파이버
npm i -g @vue/clicd 프론트엔드 npm 설치 npm 실행 서브
데이터베이스가 postgresql에서 sqlite로 전환되었습니다. 따라서 데이터베이스를 설정할 필요가 없으며 서버가 sqlite를 처리합니다.
CD 백엔드 mkdir -p 데이터 go get -u github.com/cosmtrek/air# go/bin을 pathexport에 추가 PATH=$HOME/go/bin:$PATH # Linux에서는, macair에서도 유사 # 실시간 새로고침 시작
docker compose -f docker-compose-helpers.yml dev-backend 실행
또는 make dev-backend
자세한 구성 옵션은 백엔드 및 환경 변수를 참조하세요.
https://docuenter.getpostman.com/view/UVRAJ7MZ?version=latest
앱은 시스템에 docker
및 docker compose
설치되어 있어야 하는 docker를 사용하여 호스팅될 수 있습니다.
docker 없이(네이티브 golang 사용) 실행하려면 이후 섹션인 Docker 없이 배포를 참조하세요.
실행 중인 머신에 따라 docker compose.yml
및 docker docker-compose-helpers.yml
내의 이미지 태그를 수정합니다.
골랑:1.17.6-alpine3.15
노드:16
앱을 배포하려면 프런트엔드를 빌드할 필요가 없으며 github에서 릴리스를 다운로드하기만 하면 됩니다.
또는 이 명령을 사용하여 make download-frontend
.
빌드해야 하는 경우 다음 지침을 읽어보세요.
프런트엔드는 vuejs로 작성되었으며 index.html
및 기타 리소스가 포함된 dist
폴더를 생성하려면 수동으로 빌드해야 합니다.
build-frontend # make docker compose 메소드와 정확히 동일하며 단순화된 래퍼입니다.
컴퓨터에 nodejs 15+, npm이 있으면 프런트엔드 에 CD를 넣을 수 있습니다.
CD 프론트엔드 npm 설치 npm 실행 빌드:pwa
종속성이 설치되어 있지 않으면 docker compose를 사용하여 프런트엔드 프로덕션 빌드를 빌드할 수 있습니다.
docker compose -f docker-compose-helpers.yml 빌드 프론트엔드 실행
백엔드와 관련된 자세한 정보 및 구성은 백엔드 README를 확인하세요.
구성할 수 있습니다.
서버의 포트
가입이 허용된 사용자 수
JWT 비밀번호 및 로그인 시간(JWT_VALID_TIME)
백엔드 바이너리를 빌드하려면 make build-backend
실행하세요.
golang이 설치되어 있으면 go build . -o server
backend
폴더 내의 서버.
huakunshen/wol:latest
리눅스/arm64/v8
리눅스/arm/v6
inux/arm/v7
리눅스/amd64
Docker 이미지에는 wol
이라는 wakeonlan cli를 포함하여 앱을 실행하는 데 필요한 모든 것이 포함되어 있습니다. network=host로 컨테이너를 실행하여 wol
cli 도구를 사용할 수 있습니다.
도커 볼륨 생성 WOL docker run -d --network=host --restart=unless-stopped --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
또는 make deploy
(위 docker run
명령의 별칭)을 실행하세요.
분리 모드 없이 실행하려면 make deploy-test
실행하세요.
지침에 따라 사용자 정의된 환경 변수를 추가할 수 있습니다.
Docker 이미지를 빌드하는 데 사용되는 Dockerfile에는 두 가지 버전이 있습니다.
도커파일
make build-frontend
또는 make download-frontend
실행하여 프로덕션 빌드를 생성합니다.
vue 프론트엔드와 golang 서버를 모두 이미지에 구축합니다.
Dockerfile
프런트엔드가 이미 컴파일되었다고 가정합니다( frontend/dist
).
그런 다음 docker build -t huakunshen/wol:latest .
이미지를 구축하기 위해
make buildx
다중 플랫폼 이미지를 생성합니다
환경 변수는 다음을 통해 추가/덮어쓸 수 있습니다.
environment:
docker compose
서비스에 또는
docker run
에 -e env_name=env_value
추가
다음 변수는 기본 환경 변수입니다.
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
NUM_USER_ALLOWED
환경 변수를 사용하여 가입이 허용되는 사용자 수를 지정할 수 있습니다. 귀하가 유일한 사용자인 경우 기본값은 1입니다.
개발 중에 데이터베이스 및 서버 환경 변수를 모두 backend/.env
에서 수정할 수 있습니다.
백엔드도 확인해보세요.
backend/.env
편집
이 디렉토리(wol-web)에 cd하세요.
도커 실행 -d --network=호스트 --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env 파일 백엔드/.env huakunshen/wol:최신
도커 실행 -d --network=호스트 --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -e 포트=9090 -e JWT_SECRET=월-비밀 -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 huakunshen/wol:최신