diff --git a/.dockerignore b/.dockerignore index 168824c..d736280 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,6 @@ * -!server/node_modules +!server/package.json +!server/package-lock.json !server/migrate-mongo-config.js !server/migrations !server/build diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d01353b..8889434 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,11 +39,7 @@ jobs: - name: "build" run: npm run build - name: "docker build" - run: | - rm -rf server/node_modules - npm ci --production --prefix server - docker build --pull -t $TMP_DOCKER_IMAGE -f ./Dockerfile . - npm ci + run: docker build --pull -t $TMP_DOCKER_IMAGE -f ./Dockerfile . - name: "release" if: ${{ github.ref == 'refs/heads/latest' || github.ref == 'refs/heads/beta' }} run: | diff --git a/Dockerfile b/Dockerfile index 0ebdc9b..f23cb3b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,8 @@ LABEL maintainer="meli.sh" RUN apk add --no-cache \ caddy \ - nodejs + nodejs \ + npm # entrypoint COPY ./docker/entrypoint.sh /entrypoint.sh @@ -15,12 +16,15 @@ COPY ./docker/caddy-config.json /etc/caddy/config.json COPY ./ui/build /app/ui # server COPY ./server/build /app/server -COPY ./server/node_modules /app/server/node_modules +COPY ./server/package.json /app/server +COPY ./server/package-lock.json /app/server COPY ./server/migrate-mongo-config.js /app/server COPY ./server/migrations /app/server/migrations WORKDIR /app/server +RUN npm ci --production + ENV MELI_URL_INTERNAL=http://localhost:3001 ENV MELI_UI_DIR=/app/ui ENV MELI_POSTHOG_ENABLED="true" @@ -36,6 +40,5 @@ EXPOSE 80 EXPOSE 443 EXPOSE 2019 - ENTRYPOINT ["/entrypoint.sh"] CMD ["node", "index.js"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bc1d32b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,29 @@ +version: "3" + +services: + + meli: + image: tmp + ports: + - 127.0.0.1:8000:80 + environment: + # no trailing slash ! + MELI_URL: http://localhost:8000 + MELI_MONGO_URI: mongodb://mongo:27017/meli + MELI_JWT_SECRET: changeMe + MELI_USER: user + MELI_PASSWORD: changeMe + MELI_HTTPS_AUTO: "false" + volumes: + - ./tmp/sites:/sites + - ./tmp/files:/files + - ./tmp/caddy/data:/data + - ./tmp/caddy/config:/config + depends_on: + - mongo + + mongo: + image: mongo:4.2-bionic + restart: unless-stopped + volumes: + - ./tmp/mongo:/data/db