From aba8025645192a9a05c69adcfb223e21d7b63604 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 11 Mar 2018 18:27:30 +0100 Subject: [PATCH] Move docker files, include kubernetes files. --- .../docker}/apache-firefly.conf | 0 {docker => .deploy/docker}/apache2.conf | 0 {docker => .deploy/docker}/docker.env | 0 {docker => .deploy/docker}/entrypoint.sh | 0 .deploy/kubernetes/firefly.yaml | 82 +++++++++++++++++++ .deploy/kubernetes/sql.yaml | 49 +++++++++++ Dockerfile | 6 +- 7 files changed, 134 insertions(+), 3 deletions(-) rename {docker => .deploy/docker}/apache-firefly.conf (100%) rename {docker => .deploy/docker}/apache2.conf (100%) rename {docker => .deploy/docker}/docker.env (100%) rename {docker => .deploy/docker}/entrypoint.sh (100%) create mode 100644 .deploy/kubernetes/firefly.yaml create mode 100644 .deploy/kubernetes/sql.yaml diff --git a/docker/apache-firefly.conf b/.deploy/docker/apache-firefly.conf similarity index 100% rename from docker/apache-firefly.conf rename to .deploy/docker/apache-firefly.conf diff --git a/docker/apache2.conf b/.deploy/docker/apache2.conf similarity index 100% rename from docker/apache2.conf rename to .deploy/docker/apache2.conf diff --git a/docker/docker.env b/.deploy/docker/docker.env similarity index 100% rename from docker/docker.env rename to .deploy/docker/docker.env diff --git a/docker/entrypoint.sh b/.deploy/docker/entrypoint.sh similarity index 100% rename from docker/entrypoint.sh rename to .deploy/docker/entrypoint.sh diff --git a/.deploy/kubernetes/firefly.yaml b/.deploy/kubernetes/firefly.yaml new file mode 100644 index 0000000000..b2e3d2c912 --- /dev/null +++ b/.deploy/kubernetes/firefly.yaml @@ -0,0 +1,82 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-pv-export-claim + labels: + app: firefly-local +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-pv-upload-claim + labels: + app: firefly-local +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: firefly-local + namespace: firefly + labels: + app: firefly-local +spec: + selector: + matchLabels: + app: firefly-local + template: + metadata: + labels: + app: firefly-local + spec: + containers: + - image: firefly-local + name: firefly-local + env: + - name: FF_APP_ENV + value: "local" + - name: FF_APP_KEY + value: "S0m3R@nd0mString0f32Ch@rsEx@ct1y" + - name: FF_DB_HOST + value: "172.17.0.9" + - name: FF_DB_NAME + value: "firefly_db" + - name: FF_DB_USER + value: "firefly_db" + - name: FF_DB_PASSWORD + value: "password" + volumeMounts: + - mountPath: "/var/www/firefly-iii/storage/export" + name: mysql-persistent-export + - mountPath: "/var/www/firefly-iii/storage/upload" + name: mysql-persistent-upload + imagePullPolicy: IfNotPresent + volumes: + - name: mysql-persistent-export + persistentVolumeClaim: + claimName: mysql-pv-export-claim + - name: mysql-persistent-upload + persistentVolumeClaim: + claimName: mysql-pv-upload-claim +--- +apiVersion: v1 +kind: Service +metadata: + name: firefly-local +spec: + ports: + - port: 80 + type: NodePort + selector: + app: firefly-local \ No newline at end of file diff --git a/.deploy/kubernetes/sql.yaml b/.deploy/kubernetes/sql.yaml new file mode 100644 index 0000000000..aae5f7d5cb --- /dev/null +++ b/.deploy/kubernetes/sql.yaml @@ -0,0 +1,49 @@ +apiVersion: v1 +kind: Secret +metadata: + name: sql-pass +type: Opaque +data: + password: cGFzc3dvcmQ= +--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: mysql + namespace: firefly + labels: + app: mysql +spec: + selector: + matchLabels: + app: mysql + template: + metadata: + labels: + app: mysql + spec: + containers: + - image: mysql + imagePullPolicy: IfNotPresent + name: mysql + env: + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: sql-pass + key: password + ports: + - containerPort: 3306 + name: mysql +--- +apiVersion: v1 +kind: Service +metadata: + name: mysql +spec: + ports: + - port: 3306 + type: NodePort + selector: + app: mysql + diff --git a/Dockerfile b/Dockerfile index 37c369df1f..e3730e4787 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ RUN docker-php-ext-install -j$(nproc) curl gd intl json readline tidy zip bcmath RUN echo "de_DE.UTF-8 UTF-8\nen_US.UTF-8 UTF-8\nfr_FR.UTF-8 UTF-8\nid_ID.UTF-8 UTF-8\nnl_NL.UTF-8 UTF-8\npl_PL.UTF-8 UTF-8" > /etc/locale.gen && locale-gen # copy Apache config to correct spot. -COPY ./docker/apache2.conf /etc/apache2/apache2.conf +COPY ./.deploy/docker/apache2.conf /etc/apache2/apache2.conf # Enable apache mod rewrite.. RUN a2enmod rewrite @@ -46,7 +46,7 @@ VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Enable default site (Firefly III) -COPY ./docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf +COPY ./.deploy/docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf # Make sure we own Firefly III directory RUN chown -R www-data:www-data /var/www && chmod -R 775 $FIREFLY_PATH/storage @@ -58,4 +58,4 @@ RUN composer install --prefer-dist --no-dev --no-scripts --no-suggest EXPOSE 80 # Run entrypoint thing -ENTRYPOINT ["docker/entrypoint.sh"] \ No newline at end of file +ENTRYPOINT [".deploy/docker/entrypoint.sh"] \ No newline at end of file