diff --git a/docker/app/Dockerfile b/Dockerfile similarity index 68% rename from docker/app/Dockerfile rename to Dockerfile index b46fb3b3..eb92b05c 100644 --- a/docker/app/Dockerfile +++ b/Dockerfile @@ -1,41 +1,36 @@ -# Build: -# docker build -t tellform-prod -f ./Dockerfile-production . -# -# Run: -# docker run -it tellform-prod - FROM node:10-alpine -MAINTAINER Arielle Baldwynn +MAINTAINER OhMyForm # Install some needed packages RUN apk add --no-cache \ git \ && rm -rf /tmp/* + ## TODO: Crush these consecutive RUN's into a single run if possible. # Install NPM Global Libraries RUN npm install --quiet -g grunt bower pm2 && npm cache clean --force -WORKDIR /opt/tellform -RUN mkdir -p /opt/tellform/public/lib +WORKDIR /opt/app +RUN mkdir -p /opt/app/public/lib ## TODO: Optimize layers here as copy layers can be easily reduced if saner COPY usage is achieved. # Add bower.json -COPY bower.json /opt/tellform/bower.json -COPY .bowerrc /opt/tellform/.bowerrc +COPY bower.json /opt/app/bower.json +COPY .bowerrc /opt/app/.bowerrc -COPY ./process.yml /opt/tellform/process.yml -COPY ./app /opt/tellform/app -COPY ./public /opt/tellform/public -COPY ./config /opt/tellform/config -COPY ./gruntfile.js /opt/tellform/gruntfile.js -COPY ./server.js /opt/tellform/server.js -COPY ./scripts/create_admin.js /opt/tellform/scripts/create_admin.js +COPY ./process.yml /opt/app/process.yml +COPY ./app /opt/app/app +COPY ./public /opt/app/public +COPY ./config /opt/app/config +COPY ./gruntfile.js /opt/app/gruntfile.js +COPY ./server.js /opt/app/server.js +COPY ./scripts/create_admin.js /opt/app/scripts/create_admin.js ## TODO: Find a method that's better than this for passing ENV's if possible. # Set default ENV ENV NODE_ENV=development ENV SECRET_KEY=ChangeMeChangeMe -#ENV MONGODB_URI=mongodb://mongo/tellform +#ENV MONGODB_URI=mongodb://mongo/ohmyform #ENV REDIS_URL=redis://redis:6379 ENV PORT=5000 ENV BASE_URL=localhost @@ -43,20 +38,20 @@ ENV SOCKET_PORT=20523 ENV SIGNUP_DISABLED=FALSE ENV SUBDOMAINS_DISABLED=FALSE ENV ENABLE_CLUSTER_MODE=FALSE -ENV MAILER_EMAIL_ID=tellform@localhost +ENV MAILER_EMAIL_ID=ohmyform@localhost ENV MAILER_PASSWORD= -ENV MAILER_FROM=tellform@localhost +ENV MAILER_FROM=ohmyform@localhost ENV MAILER_SERVICE_PROVIDER= ENV MAILER_SMTP_HOST= ENV MAILER_SMTP_PORT= ENV MAILER_SMTP_SECURE= ENV CREATE_ADMIN=FALSE -ENV ADMIN_EMAIL=admin@tellform.com +ENV ADMIN_EMAIL=admin@ohmyform.com ENV ADMIN_USERNAME=root ENV ADMIN_PASSWORD=root -ENV APP_NAME=Tellform +ENV APP_NAME=OhMyForm ENV APP_KEYWORDS= ENV APP_DESC= @@ -71,12 +66,12 @@ ENV RAVEN_DSN= # and install node_modules/ everytime we build the docker, but only # when the local package.json file changes. # Add npm package.json -COPY ./package.json /opt/tellform/package.json +COPY ./package.json /opt/app/package.json RUN npm install --only=production --quiet RUN bower install --allow-root RUN grunt build ## TODO: Determine if it would be possible to do a multi stage container where the prebuilt app is copied with nothing else from the build step. ## TODO: Make this configure things on startup in a sane way or don't if the operator passes any configuration files perhaps via a start.sh. -# Run TellForm server +# Run OhMyForm server CMD ["node", "server.js"] diff --git a/docker/compose/docker-compose.yml b/docker/compose/docker-compose.yml index d66bcf1d..39057c09 100644 --- a/docker/compose/docker-compose.yml +++ b/docker/compose/docker-compose.yml @@ -8,8 +8,7 @@ services: volumes: - "./data/mongo:/data" tellform: - build: - context: . + image: ohmyform/ohmyform environment: CREATE_ADMIN: "TRUE" SOCKET_PORT: "5000" @@ -21,6 +20,7 @@ services: links: - mongo - redis + - mail ports: - "5000:5000" depends_on: