]> _ Git - fluidbook_distantstorage.git/commitdiff
wip #5725 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 13 Feb 2023 09:01:30 +0000 (10:01 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 13 Feb 2023 09:01:30 +0000 (10:01 +0100)
16 files changed:
.gitignore [new file with mode: 0644]
Dockerfile [new file with mode: 0644]
README.md [new file with mode: 0644]
app/composer.json [new file with mode: 0644]
app/info.php [new file with mode: 0644]
app/ping.php [new file with mode: 0644]
docker-compose.yml [new file with mode: 0644]
overrides.conf [new file with mode: 0644]
ssh/id_rsa [new file with mode: 0644]
ssh/id_rsa.pub [new file with mode: 0644]
ssh/known_hosts [new file with mode: 0644]
startup [new file with mode: 0644]
update [new file with mode: 0644]
updateall.bat [new file with mode: 0644]
updatecode [new file with mode: 0644]
updatecode.bat [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..ad2b13e
--- /dev/null
@@ -0,0 +1,27 @@
+### Laravel template
+/app/vendor/
+node_modules/
+npm-debug.log
+yarn-error.log
+
+# Laravel 4 specific
+bootstrap/compiled.php
+app/storage/
+
+# Laravel 5 & Lumen specific
+public/storage
+public/hot
+
+# Laravel 5 & Lumen specific with changed public path
+public_html/storage
+public_html/hot
+
+storage/*.key
+.env
+Homestead.yaml
+Homestead.json
+/.vagrant
+.phpunit.result.cache
+
+composer.lock
+.idea
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644 (file)
index 0000000..d317418
--- /dev/null
@@ -0,0 +1,19 @@
+FROM ubuntu:jammy
+WORKDIR "/application"
+
+ENV TERM=linux
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get install -y --no-install-recommends gnupg \
+    && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ondrej-php.list \
+    && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C \
+    && apt-get update \
+    && apt-get -y --no-install-recommends install x11-common pdftk poppler-utils ghostscript netpbm sshfs mupdf-tools php8.1-cli php8.1-fpm php8.1-curl php8.1-exif php8.1-xml php8.1-gd php8.1-ssh php8.1-zip libjpeg-turbo-progs zip unzip \
+        less nano wget bash lynx
+
+COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
+COPY overrides.conf /etc/php/8.1/fpm/pool.d/z-overrides.conf
+COPY --chmod=755 startup /usr/bin/startup
+CMD exec /usr/bin/startup
+STOPSIGNAL SIGQUIT
+EXPOSE 9000
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..c60304c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+# Installation
+
+On the farming server : 
+
+`apt install -y git docker-composer-plugin;mkdir -p /docker/fluidbook-distantstorage;cd /docker/fluidbook-distantstorage;git clone git://git.cubedesigners.com/fluidbook_distantstorage.git .;./update`
\ No newline at end of file
diff --git a/app/composer.json b/app/composer.json
new file mode 100644 (file)
index 0000000..938334a
--- /dev/null
@@ -0,0 +1,28 @@
+{
+  "name": "fluidbook/distantstorage",
+  "description": "description",
+  "minimum-stability": "dev",
+  "license": "proprietary",
+  "repositories": [
+    {
+      "type": "composer",
+      "url": "https://composer.cubedesigners.com/"
+    }
+  ],
+  "authors": [
+    {
+      "name": "Vincent VANWAELSCAPPEL",
+      "email": "vincent@cubedesigners.com"
+    }
+  ],
+  "autoload": {
+    "psr-4": {
+      "Fluidbook\\DistantStorage\\": "src"
+    }
+  },
+  "prefer-stable": true,
+  "require": {
+    "php": ">=8.0",
+    "fluidbook/tools": "dev-master"
+  }
+}
\ No newline at end of file
diff --git a/app/info.php b/app/info.php
new file mode 100644 (file)
index 0000000..bfd863b
--- /dev/null
@@ -0,0 +1,2 @@
+<?php
+phpinfo();
\ No newline at end of file
diff --git a/app/ping.php b/app/ping.php
new file mode 100644 (file)
index 0000000..6b4e62a
--- /dev/null
@@ -0,0 +1,2 @@
+<?php
+die(file_exists('/files/status') && file_exists('/usfiles/status') ? '1' : '0');
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644 (file)
index 0000000..c0bde54
--- /dev/null
@@ -0,0 +1,23 @@
+version: '3.1'
+services:
+  php:
+    container_name: fluidbook-distantstorage
+    build: .
+    working_dir: /application
+    environment:
+      TZ: Europe/Paris
+      HOME: /application
+    volumes:
+      - './app/:/application/'
+      - './ssh/:/root/.ssh/'
+      - '/home/fluidbook/data/:/storage/'
+    ports:
+      - '9458:9000'
+    restart: unless-stopped
+    privileged: true
+    networks:
+      - fluidbook-distantstorage
+networks:
+  fluidbook-distantstorage:
+    external:
+      name: fluidbook-distantstorage
\ No newline at end of file
diff --git a/overrides.conf b/overrides.conf
new file mode 100644 (file)
index 0000000..37a1483
--- /dev/null
@@ -0,0 +1,37 @@
+[global]
+; Override default pid file
+pid = /run/php-fpm.pid
+
+; Avoid logs being sent to syslog
+error_log = /proc/self/fd/2
+
+; Set this to php default's max_execution_time to allow children to stop gracefully when fpm is commanded to stop
+; This helps avoiding 502's
+process_control_timeout = 30
+
+; Do not daemonize (eg send process to the background)
+daemonize = no
+
+[www]
+; Access from webserver container is via network, not socket file
+listen = [::]:9000
+
+; Redirect logs to stdout - FPM closes /dev/std* on startup
+access.log = /proc/self/fd/1
+catch_workers_output = yes
+
+; Remove "pool www" decoration from log output (older phpdocker.io containers for php use sed for this)
+decorate_workers_output = no
+
+; Required to allow config-by-environment
+clear_env = no
+
+user = 33
+group = 33
+
+pm = dynamic
+pm.max_children = 80
+pm.start_servers = 24
+pm.min_spare_servers = 20
+pm.max_spare_servers = 40
+pm.max_requests = 1000
diff --git a/ssh/id_rsa b/ssh/id_rsa
new file mode 100644 (file)
index 0000000..887177c
--- /dev/null
@@ -0,0 +1,38 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+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
+-----END OPENSSH PRIVATE KEY-----
diff --git a/ssh/id_rsa.pub b/ssh/id_rsa.pub
new file mode 100644 (file)
index 0000000..f7abdde
--- /dev/null
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3kvjNsFj8/D1G2wE6puNcS4VwFHARPmgKNFxgtDy+a+gHcDiuygYhZjJy8lYpo02N7I2kV9Mo3+nWH1Ain1FbjAPVGP5VBwujriFJkfcOev76b8uwVs/xFwdJn3Oc0AnVvu/03tvZv1vVVmAGE/S6Ym9BmCDVWC2pOVdySvt2hmljSoQaZQzPT5DHdwgenbDPU26TmSchFRy/K/a32+juua8P+eceOypi+bzV0K723h4x5teq4rQmsbqFalfUnh0FAYdXbzkTXBfhE/h4D8TkGMkCCgRJSuw5I5SP3XEuDEB24Bzd5HEjAQgrigGE2L697sYEgJkit7WUOQmB1DokgqCc3GgkfUE6/0TKeNeXQv15z7hQ9192Qnjo2Z7qcnebiZrozxo5i7tArJssHekrkMIzF4ujVL0WLLxXt85YAN/AB4A15B1lTM1Cyarp7kFK3mVD7nicJYsCapEgaVa8im6MIJoASg4/qRCrA006LQqC2TyX5wi9mECgJhKCp80= fluidbookfarmer@cubedesigners.com
diff --git a/ssh/known_hosts b/ssh/known_hosts
new file mode 100644 (file)
index 0000000..9136a30
--- /dev/null
@@ -0,0 +1,4 @@
+|1|I3upUS72GkBN0XrvRynC+54Jkjw=|g0RQmSMtyO/SJJur7ff701QpAlk= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIcf3EkFhhbkL74VV3dG/ZN6X7Do+JDfzw0l7VJX6EmuTM3l2oNdg5jDp4vRHT8c9SKVe/JumeiAkIa/h6fVD4Y=
+|1|Lmv+DVNc45mnhZBQFn+lUcaRRiY=|yOB0mGpn2+50dOkb+stX7Ho5ZwQ= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIcf3EkFhhbkL74VV3dG/ZN6X7Do+JDfzw0l7VJX6EmuTM3l2oNdg5jDp4vRHT8c9SKVe/JumeiAkIa/h6fVD4Y=
+|1|Ay20z2mLJE+N/sYkp8qSg7jT1KM=|Kj8QlW8YUmRQX7fN3odgqCyk1ik= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAYlGygCsICCRvgOUYi18Nwudv3z1vUsRmvvDKQ4Gs95
+|1|nOqlDUjaxHTVvhjN5nnU48QbZb8=|5znPMjoCYVWFqoLxgnTwNhKe5lI= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEIbwg6rJgn3sVRiS0MIxzMWI0BCOyvpoU031Wr2O3jHyEtBPfntcURQHloxD0D6gsD1Ps56a3b4/SBQgWqZY6Y=
\ No newline at end of file
diff --git a/startup b/startup
new file mode 100644 (file)
index 0000000..cb0cb10
--- /dev/null
+++ b/startup
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/sbin/php-fpm8.1 -O
\ No newline at end of file
diff --git a/update b/update
new file mode 100644 (file)
index 0000000..11d7254
--- /dev/null
+++ b/update
@@ -0,0 +1,15 @@
+#!/bin/bash
+cd /docker/fluidbook-distantstorage
+docker network create fluidbook-distantstorage
+git config --global --add safe.directory /docker/fluidbook-distantstorage
+git fetch --all
+git reset --hard origin/master
+git stash
+git pull origin master
+chmod 755 /docker/fluidbook-distantstorage/app/bin/*
+chmod 755 /docker/fluidbook-distantstorage/ssh
+chmod 600 /docker/fluidbook-distantstorage/ssh/id_rsa
+DOCKER_BUILDKIT=1 docker compose build
+docker compose down
+docker compose up -d
+docker exec fluidbook-distantstorage composer update
\ No newline at end of file
diff --git a/updateall.bat b/updateall.bat
new file mode 100644 (file)
index 0000000..5c8c12e
--- /dev/null
@@ -0,0 +1 @@
+ssh root@kingkong.cubedesigners.com "/docker/fluidbook-distantstorage/update"
\ No newline at end of file
diff --git a/updatecode b/updatecode
new file mode 100644 (file)
index 0000000..cf838e9
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+cd /docker/fluidbook-distantstorage
+git config --global --add safe.directory /docker/fluidbook-distantstorage
+git fetch --all
+git reset --hard origin/master
+git stash
+git pull origin master
+chmod 755 /docker/fluidbook-distantstorage/app/bin/*
+chmod 755 /docker/fluidbook-distantstorage/ssh
+chmod 600 /docker/fluidbook-distantstorage/ssh/id_rsa
+docker exec fluidbook-distantstorage composer update
\ No newline at end of file
diff --git a/updatecode.bat b/updatecode.bat
new file mode 100644 (file)
index 0000000..ff38a2f
--- /dev/null
@@ -0,0 +1 @@
+ssh root@kingkong.cubedesigners.com "chmod 755 /docker/fluidbook-distantstorage/updatecode;/docker/fluidbook-distantstorage/updatecode"
\ No newline at end of file