3 geänderte Dateien mit 128 neuen und 1 gelöschten Zeilen
@ -0,0 +1,60 @@ |
|||
FROM node:12.18.4-buster-slim |
|||
|
|||
LABEL maintainer="mail_yanpeng@163.com" |
|||
|
|||
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak |
|||
RUN touch /etc/apt/sources.list |
|||
RUN echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list \ |
|||
&& echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list \ |
|||
&& echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list \ |
|||
&& echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list \ |
|||
&& echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list \ |
|||
&& echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list \ |
|||
&& echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list \ |
|||
&& echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list |
|||
|
|||
RUN cat /etc/apt/sources.list |
|||
|
|||
# dependencies |
|||
RUN groupadd -g 65533 -r meteor \ |
|||
&& useradd -u 65533 -r -g meteor meteor \ |
|||
&& mkdir -p /app/uploads \ |
|||
&& chown meteor:meteor /app/uploads \ |
|||
&& apt-get update \ |
|||
&& apt-get install -y --no-install-recommends fontconfig |
|||
|
|||
#ADD .. /app |
|||
ADD ./bundle /app/bundle |
|||
|
|||
RUN aptMark="$(apt-mark showmanual)" \ |
|||
&& apt-get install -y --no-install-recommends g++ make python ca-certificates \ |
|||
&& cd /app/bundle/programs/server \ |
|||
&& npm install \ |
|||
&& apt-mark auto '.*' > /dev/null \ |
|||
&& apt-mark manual $aptMark > /dev/null \ |
|||
&& find /usr/local -type f -executable -exec ldd '{}' ';' \ |
|||
| awk '/=>/ { print $(NF-1) }' \ |
|||
| sort -u \ |
|||
| xargs -r dpkg-query --search \ |
|||
| cut -d: -f1 \ |
|||
| sort -u \ |
|||
| xargs -r apt-mark manual \ |
|||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ |
|||
# && npm cache clear --force \ |
|||
&& chown -R meteor:meteor /app |
|||
|
|||
USER meteor |
|||
|
|||
WORKDIR /app/bundle |
|||
|
|||
# needs a mongoinstance - defaults to container linking with alias 'mongo' |
|||
ENV DEPLOY_METHOD=docker \ |
|||
NODE_ENV=production \ |
|||
MONGO_URL=mongodb://mongo:27017/meteor \ |
|||
HOME=/tmp \ |
|||
PORT=3000 \ |
|||
ROOT_URL=http://localhost:3000 |
|||
|
|||
EXPOSE 3000 |
|||
|
|||
CMD ["node", "main.js"] |
@ -0,0 +1,52 @@ |
|||
version: '3' |
|||
services: |
|||
meteorvue: |
|||
image: nelson/meteor-vue:latest |
|||
command: > |
|||
bash -c |
|||
"for i in `seq 1 30`; do |
|||
node main.js && |
|||
s=$$? && break || s=$$?; |
|||
echo \"Tried $$i times. Waiting 5 secs...\"; |
|||
sleep 5; |
|||
done; (exit $$s)" |
|||
restart: unless-stopped |
|||
volumes: |
|||
- ./uploads:/app/uploads |
|||
environment: |
|||
- PORT=3000 |
|||
- ROOT_URL=http://localhost:3000 |
|||
- MONGO_URL=mongodb://mongo:27017/rocketchat |
|||
- MONGO_OPLOG_URL=mongodb://mongo:27017/local |
|||
- MAIL_URL=smtp://smtp.email |
|||
depends_on: |
|||
- mongo |
|||
ports: |
|||
- 3000:3000 |
|||
labels: |
|||
- "traefik.backend=rocketchat" |
|||
- "traefik.frontend.rule=Host: your.domain.tld" |
|||
mongo: |
|||
image: mongo:4.0 |
|||
restart: unless-stopped |
|||
volumes: |
|||
- ./data/db:/data/db |
|||
#- ./data/dump:/dump |
|||
command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1 |
|||
labels: |
|||
- "traefik.enable=false" |
|||
mongo-init-replica: |
|||
image: mongo:4.0 |
|||
command: > |
|||
bash -c |
|||
"for i in `seq 1 30`; do |
|||
mongo mongo/meteor --eval \" |
|||
rs.initiate({ |
|||
_id: 'rs0', |
|||
members: [ { _id: 0, host: 'localhost:27017' } ]})\" && |
|||
s=$$? && break || s=$$?; |
|||
echo \"Tried $$i times. Waiting 5 secs...\"; |
|||
sleep 5; |
|||
done; (exit $$s)" |
|||
depends_on: |
|||
- mongo |
Laden…
In neuem Issue referenzieren