@ -1,79 +1,71 @@
FROM couchdb
FROM couchdb:3.2.1
ENV DEPLOYMENT_ENVIRONMENT = docker
ENV POSTHOG_TOKEN = phc_fg5I3nDOf6oJVMHSaycEhpPdlgS8rzXG2r6F2IpxCHS
ENV COUCHDB_PASSWORD = budibase
ENV COUCHDB_USER = budibase
ENV COUCH_DB_URL = http://budibase:budibase@localhost:5984
ENV BUDIBASE_ENVIRONMENT = PRODUCTION
ENV MINIO_URL = http://localhost:9000
ENV REDIS_URL = localhost:6379
ENV WORKER_URL = http://localhost:4002
ENV INTERNAL_API_KEY = budibase
ENV JWT_SECRET = testsecret
ENV MINIO_ACCESS_KEY = budibase
ENV MINIO_SECRET_KEY = budibase
ENV SELF_HOSTED = 1
ENV CLUSTER_PORT = 10000
ENV REDIS_PASSWORD = budibase
ENV ARCHITECTURE = amd
ENV APP_PORT = 4001
ENV WORKER_PORT = 4002
ENV DEPLOYMENT_ENVIRONMENT = docker \
POSTHOG_TOKEN = phc_fg5I3nDOf6oJVMHSaycEhpPdlgS8rzXG2r6F2IpxCHS \
COUCHDB_PASSWORD = budibase \
COUCHDB_USER = budibase \
COUCH_DB_URL = http://budibase:budibase@localhost:5984 \
BUDIBASE_ENVIRONMENT = PRODUCTION \
MINIO_URL = http://localhost:9000 \
REDIS_URL = localhost:6379 \
WORKER_URL = http://localhost:4002 \
INTERNAL_API_KEY = budibase \
JWT_SECRET = testsecret \
MINIO_ACCESS_KEY = budibase \
MINIO_SECRET_KEY = budibase \
SELF_HOSTED = 1 \
CLUSTER_PORT = 10000 \
REDIS_PASSWORD = budibase \
ARCHITECTURE = amd \
APP_PORT = 4001 \
WORKER_PORT = 4002
RUN apt-get update
RUN apt-get install software-properties-common wget nginx -y
RUN apt-add-repository 'deb http://security.debian.org/debian-security stretch/updates main'
RUN apt-get update
# install base dependencies
RUN apt-get update && \
apt-get install software-properties-common wget -y && \
apt-add-repository 'deb http://security.debian.org/debian-security stretch/updates main' && \
apt-get update
# install other dependencies, nodejs, oracle requirements, jdk8, redis, nginx
WORKDIR /nodejs
RUN curl -sL https://deb.nodesource.com/setup_16.x -o /tmp/nodesource_setup.sh && \
bash /tmp/nodesource_setup.sh && \
apt-get install libaio1 nodejs nginx openjdk-8-jdk redis-server unzip -y && \
npm install --global yarn pm2
# setup nginx
ADD hosting/single/nginx.conf /etc/nginx
RUN mkdir /etc/nginx/logs
RUN useradd www
RUN touch /etc/nginx/logs/error.log
RUN touch /etc/nginx/logs/nginx.pid
# install java
RUN apt-get install openjdk-8-jdk -y
RUN mkdir /etc/nginx/logs && \
useradd www && \
touch /etc/nginx/logs/error.log && \
touch /etc/nginx/logs/nginx.pid
# setup nodejs
WORKDIR /nodejs
RUN curl -sL https://deb.nodesource.com/setup_16.x -o /tmp/nodesource_setup.sh
RUN bash /tmp/nodesource_setup.sh
RUN apt-get install nodejs
RUN npm install --global yarn
RUN npm install --global pm2
# setup redis
RUN apt install redis-server -y
# add pin script
WORKDIR /
ADD scripts/pinVersions.js .
# setup server
# setup server and install client for oracle datasource
WORKDIR /app
ADD packages/server .
RUN ls -al
RUN yarn
RUN yarn build
# Install client for oracle datasource
RUN apt-get install unzip libaio1
RUN /bin/bash -e scripts/integrations/oracle/instantclient/linux/x86-64/install.sh
RUN node /pinVersions.js && yarn && yarn build && \
/bin/bash -e scripts/integrations/oracle/instantclient/linux/x86-64/install.sh
# setup worker
WORKDIR /worker
ADD packages/worker .
RUN yarn
RUN yarn build
RUN node /pinVersions.js && yarn && yarn build
# setup clouseau
WORKDIR /
RUN wget https://github.com/cloudant-labs/clouseau/releases/download/2.21.0/clouseau-2.21.0-dist.zip
RUN unzip clouseau-2.21.0-dist.zip
RUN mv clouseau-2.21.0 /opt/clouseau
RUN rm clouseau-2.21.0-dist.zip
RUN wget https://github.com/cloudant-labs/clouseau/releases/download/2.21.0/clouseau-2.21.0-dist.zip && \
unzip clouseau-2.21.0-dist.zip && \
mv clouseau-2.21.0 /opt/clouseau && \
rm clouseau-2.21.0-dist.zip
WORKDIR /opt/clouseau
RUN mkdir ./bin
ADD hosting/single/clouseau ./bin/
ADD hosting/single/log4j.properties .
ADD hosting/single/clouseau.ini .
ADD hosting/single/log4j.properties hosting/single/clouseau.ini ./
RUN chmod +x ./bin/clouseau
# setup CouchDB
@ -82,8 +74,7 @@ ADD hosting/single/vm.args ./etc/
# setup minio
WORKDIR /minio
RUN wget https://dl.min.io/server/minio/release/linux-${ ARCHITECTURE } 64/minio
RUN chmod +x minio
RUN wget https://dl.min.io/server/minio/release/linux-${ ARCHITECTURE } 64/minio && chmod +x minio
# setup runner file
WORKDIR /