first commit

This commit is contained in:
2024-05-12 07:39:55 +00:00
commit 16c2cb854e
139 changed files with 14931 additions and 0 deletions

24
.env Normal file
View File

@@ -0,0 +1,24 @@
# ===== Enviroment Stage ======
ENV_MODE=production
# ====== Database Configuration ======
POSTGRES_PASSWORD=6MaBQd9ICYeZnCb
PGADMIN_DEFAULT_PASSWORD=bET23d76xKArCqf
# ====== Phoenix Super Admin Configuration ======
SUPER_ADMIN_USER_PASSWORD=zrRzSW5pC4cWwroX976oXcGQU
# ====== Redis Configuration ======
REDIS_PASSWORD=sBCuVsJkKTSErgF
# ====== Worker Configuration ======
RUN_JOB_QUEUE=1
# ====== Email Configuration ======
SMTP_FROM="info@phx-erp.de"
SMTP_TYPE='smtp'
SMTP_NAME='mail.phx-erp.de'
SMTP_HOST='mail.phx-erp.de'
SMTP_PORT=465
SMTP_SECURE='true'
SMTP_USER='yuri.lima@phx-erp.de'
SMTP_PASS='0rB0@et68'
SMTP_LOGGING='true'
SMTP_DEBUG='true'
SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace
SMTP_SECURE_CONNECTION='true' # Not in use

View File

@@ -0,0 +1,24 @@
# ===== Enviroment Stage ======
ENV_MODE=production
# ====== Database Configuration ======
POSTGRES_PASSWORD=
PGADMIN_DEFAULT_PASSWORD=
# ====== Phoenix Super Admin Configuration ======
SUPER_ADMIN_USER_PASSWORD=
# ====== Redis Configuration ======
REDIS_PASSWORD=
# ====== Worker Configuration ======
RUN_JOB_QUEUE=1
# ====== Email Configuration ======
SMTP_FROM="info@phx-erp.de"
SMTP_TYPE='smtp'
SMTP_NAME='mail.phx-erp.de'
SMTP_HOST='mail.phx-erp.de'
SMTP_PORT=465
SMTP_SECURE='true'
SMTP_USER='yuri.lima@phx-erp.de'
SMTP_PASS='0rB0@et68'
SMTP_LOGGING='true'
SMTP_DEBUG='true'
SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace
SMTP_SECURE_CONNECTION='true' # Not in use

View File

@@ -0,0 +1,24 @@
# ===== Enviroment Stage ======
ENV_MODE=production
# ====== Database Configuration ======
POSTGRES_PASSWORD=6MaBQd9ICYeZnCb
PGADMIN_DEFAULT_PASSWORD=
# ====== Phoenix Super Admin Configuration ======
SUPER_ADMIN_USER_PASSWORD=
# ====== Redis Configuration ======
REDIS_PASSWORD=
# ====== Worker Configuration ======
RUN_JOB_QUEUE=1
# ====== Email Configuration ======
SMTP_FROM="info@phx-erp.de"
SMTP_TYPE='smtp'
SMTP_NAME='mail.phx-erp.de'
SMTP_HOST='mail.phx-erp.de'
SMTP_PORT=465
SMTP_SECURE='true'
SMTP_USER='yuri.lima@phx-erp.de'
SMTP_PASS='0rB0@et68'
SMTP_LOGGING='true'
SMTP_DEBUG='true'
SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace
SMTP_SECURE_CONNECTION='true' # Not in use

View File

@@ -0,0 +1,24 @@
# ===== Enviroment Stage ======
ENV_MODE=production
# ====== Database Configuration ======
POSTGRES_PASSWORD=6MaBQd9ICYeZnCb
PGADMIN_DEFAULT_PASSWORD=bET23d76xKArCqf
# ====== Phoenix Super Admin Configuration ======
SUPER_ADMIN_USER_PASSWORD=
# ====== Redis Configuration ======
REDIS_PASSWORD=
# ====== Worker Configuration ======
RUN_JOB_QUEUE=1
# ====== Email Configuration ======
SMTP_FROM="info@phx-erp.de"
SMTP_TYPE='smtp'
SMTP_NAME='mail.phx-erp.de'
SMTP_HOST='mail.phx-erp.de'
SMTP_PORT=465
SMTP_SECURE='true'
SMTP_USER='yuri.lima@phx-erp.de'
SMTP_PASS='0rB0@et68'
SMTP_LOGGING='true'
SMTP_DEBUG='true'
SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace
SMTP_SECURE_CONNECTION='true' # Not in use

View File

@@ -0,0 +1,24 @@
# ===== Enviroment Stage ======
ENV_MODE=production
# ====== Database Configuration ======
POSTGRES_PASSWORD=6MaBQd9ICYeZnCb
PGADMIN_DEFAULT_PASSWORD=bET23d76xKArCqf
# ====== Phoenix Super Admin Configuration ======
SUPER_ADMIN_USER_PASSWORD=12345678
# ====== Redis Configuration ======
REDIS_PASSWORD=sBCuVsJkKTSErgF
# ====== Worker Configuration ======
RUN_JOB_QUEUE=1
# ====== Email Configuration ======
SMTP_FROM="info@phx-erp.de"
SMTP_TYPE='smtp'
SMTP_NAME='mail.phx-erp.de'
SMTP_HOST='mail.phx-erp.de'
SMTP_PORT=465
SMTP_SECURE='true'
SMTP_USER='yuri.lima@phx-erp.de'
SMTP_PASS='0rB0@et68'
SMTP_LOGGING='true'
SMTP_DEBUG='true'
SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace
SMTP_SECURE_CONNECTION='true' # Not in use

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
logs
database
databaseOLD
volumes
redis
e2e
https_portal/log

View File

@@ -0,0 +1,3 @@
.login-logo-img {
background-image: url("/assets/custom/loginscreen-logo.png")!Important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

0
custom_pg_hba.conf Normal file
View File

183
docker-compose-OLD.yaml Normal file
View File

@@ -0,0 +1,183 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
ports:
- "5432:5432"
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "db-data:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
networks:
- postgres
pgadmin:
restart: always
image: dpage/pgadmin4
container_name: pgadmin_container
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}'
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "pgadmin:/var/lib/pgadmin"
networks:
- postgres
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixAppProd
volumes:
- "/app_custom:/usr/share/nginx/html/assets/custom"
# - "/nginx/nginx.conf:/etc/nginx/nginx.conf" # Not working !!!!!!!!!
# - phxnginx:/etc/nginx
ports:
- "8081:80"
# - "443:443"
labels:
- "traefik.enable=true"
- "traefik.http.routers.phxalpha.entrypoints=https"
- "traefik.http.routers.phxalpha.rule=Host(`alpha.phx-erp.de`)"
- "traefik.http.routers.phxalpha.middlewares=secHeaders@file"
- "traefik.http.routers.phxalpha.tls=true"
- "traefik.http.routers.phxalpha.tls.certresolver=http"
- "traefik.http.routers.phxalpha.service=phxalpha"
- "traefik.http.services.phxalpha.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
- "traefik.http.routers.phxalpha-insecure.entrypoints=http"
- "traefik.http.routers.phxalpha-insecure.rule=Host(`alpha.phx-erp.de`)"
- "traefik.http.routers.phxalpha-insecure.tls=false"
networks:
- proxy
- postgres
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
# container_name: phoenixSystemProd
# env_file: .env
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS}
command: [ "npm", "run", "start:server" ]
depends_on:
postgres:
condition: service_healthy
volumes:
- "asset-data:/usr/src/app/packages/dev-server/assets"
- "/server_custom:/usr/src/app/packages/dev-server/custom" # it seems tobe no effect if we make changes, not 100% of sure!
networks:
- postgres
deploy:
replicas: 1
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: [ "npm", "run", "start:worker" ]
depends_on:
postgres:
condition: service_healthy
volumes:
# - "/opt/containers/phx/assets:/usr/src/app/packages/dev-server/custo/assets"
# - "asset-data:/usr/src/app/packages/dev-server/assets"
- "/server_custom:/usr/src/app/packages/dev-server/custom"
networks:
- postgres
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
#command: redis-server --save 20 1 --appendonly no --requirepass ${REDIS_PASSWORD} --loglevel warning
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
# privileged: true
# ports:
# - 6379:6379
restart: always
environment:
# REDIS_APPENDFSYNC: "always"
ALLOW_EMPTY_PASSWORD: "no"
# REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
networks:
- postgres
volumes:
- /redis/data:/bitnami/redis/data
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- postgres # primary network [external]
- proxy # internal network
ports:
- "80:80"
- "443:443"
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
# FORCE_RENEW: 'true'
DOMAINS:
volumes:
- ./volumes/https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./volumes/https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
volumes:
db-data: null
app-data: null
asset-data: null
pgadmin: null
networks:
postgres:
name: postgres
driver: bridge
proxy:
name: proxy
driver: bridge

188
docker-compose-old.yaml Normal file
View File

@@ -0,0 +1,188 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "db-data:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
networks:
- postgres
pgadmin:
restart: always
image: dpage/pgadmin4
container_name: pgadmin_container
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}'
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "pgadmin:/var/lib/pgadmin"
networks:
- postgres
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixAppProd
volumes:
- "/app_custom:/usr/share/nginx/html/assets/custom"
# - "/nginx/nginx.conf:/etc/nginx/nginx.conf" # Not working !!!!!!!!!
# - phxnginx:/etc/nginx
ports:
- "8081:80"
# - "443:443"
labels:
- "traefik.enable=true"
- "traefik.http.routers.phxalpha.entrypoints=https"
- "traefik.http.routers.phxalpha.rule=Host(`alpha.phx-erp.de`)"
- "traefik.http.routers.phxalpha.middlewares=secHeaders@file"
- "traefik.http.routers.phxalpha.tls=true"
- "traefik.http.routers.phxalpha.tls.certresolver=http"
- "traefik.http.routers.phxalpha.service=phxalpha"
- "traefik.http.services.phxalpha.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
- "traefik.http.routers.phxalpha-insecure.entrypoints=http"
- "traefik.http.routers.phxalpha-insecure.rule=Host(`alpha.phx-erp.de`)"
- "traefik.http.routers.phxalpha-insecure.tls=false"
networks:
- proxy
- postgres
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
# container_name: phoenixSystemProd
# env_file: .env
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS=SSLv3={SMTP_TLS_CIPHERS}
command: [ "npm", "run", "start:server" ]
# ports:
# - "3000:3000"
# - "3400:3400"
# - "9615:9615"
# - "587:587" # Email Port
depends_on:
postgres:
condition: service_healthy
volumes:
- "asset-data:/usr/src/app/packages/dev-server/assets"
- "/server_custom:/usr/src/app/packages/dev-server/custom" # it seems tobe no effect if we make changes, not 100% of sure!
networks:
- postgres
deploy:
replicas: 1
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: [ "npm", "run", "start:worker" ]
depends_on:
postgres:
condition: service_healthy
volumes:
# - "/opt/containers/phx/assets:/usr/src/app/packages/dev-server/custo/assets"
# - "asset-data:/usr/src/app/packages/dev-server/assets"
- "/server_custom:/usr/src/app/packages/dev-server/custom"
networks:
- postgres
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
#command: redis-server --save 20 1 --appendonly no --requirepass ${REDIS_PASSWORD} --loglevel warning
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
# privileged: true
# ports:
# - 6379:6379
restart: always
environment:
# REDIS_APPENDFSYNC: "always"
ALLOW_EMPTY_PASSWORD: "no"
# REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
networks:
- postgres
volumes:
- /redis/data:/bitnami/redis/data
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- postgres # primary network [external]
- proxy # internal network
ports:
- "80:80"
- "443:443"
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
# FORCE_RENEW: 'true'
DOMAINS: 'yuri.phx-erp.de -> http://phoenix-app:80'
volumes:
- ./volumes/https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./volumes/https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
volumes:
db-data: null
app-data: null
asset-data: null
pgadmin: null
networks:
postgres:
name: postgres
driver: bridge
proxy:
name: proxy
driver: bridge

184
docker-compose.yaml Normal file
View File

@@ -0,0 +1,184 @@
---
services:
postgres:
restart: always
image: "postgres:15.6-alpine"
container_name: phoenixDB
networks:
- backend
ports:
- "5432:5432"
environment:
- PGUSER=postgres
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "./database:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin_container
networks:
- backend
- frontend
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "pgadmin:/var/lib/pgadmin"
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixApp
volumes:
- "./app_custom:/usr/share/nginx/html/assets/custom"
networks:
- backend # primary network [external]
- frontend # internal network
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- "DB_HOST=phoenixDB"
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- "DB_USERNAME=postgres"
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- "REDIS_PASSWORD=${REDIS_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS}
command: ["npm", "run", "start:server"]
deploy:
replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now
networks:
- backend
depends_on:
postgres:
condition: service_healthy
phoenix-redis:
condition: service_healthy
volumes:
- "./logs:/usr/src/app/packages/dev-server/logs"
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
networks:
- backend
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
# command: ["npm", "run", "start:worker"]
entrypoint: ./entrypoint-phoenix-worker.sh
depends_on:
postgres:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
- "./logs:/usr/src/app/packages/dev-server/logs"
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
networks:
- backend
restart: always
environment:
ALLOW_EMPTY_PASSWORD: "no"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
volumes:
- "./redis/data:/bitnami/redis/data"
node_exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node_exporter
network_mode: host
pid: host
restart: unless-stopped
command:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--path.rootfs=/host"
- "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev)($$|/)"
volumes:
- "/proc:/host/proc:ro"
- "/sys:/host/sys:ro"
- "/:/host:ro,rslave"
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- frontend # [ PgAdmin, Phoenix-App ]
- external # [ Outside of the World]
ports:
- "80:80"
- "443:443"
# - host:container
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
CLIENT_MAX_BODY_SIZE: 0
# FORCE_RENEW: 'true'
DOMAINS: 'yuri.phx-erp.de -> phoenix-app'
volumes:
- ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
networks:
backend:
driver: bridge
external: false
frontend:
driver: bridge
external: false
external:
driver: bridge
external: true
volumes:
pgadmin: null

View File

@@ -0,0 +1,190 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
ports:
- "5432:5432"
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "db-data:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
networks:
- postgres
pgadmin:
restart: always
image: dpage/pgadmin4
container_name: pgadmin_container
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}'
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "pgadmin:/var/lib/pgadmin"
networks:
- postgres
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixAppProd
volumes:
- "/app_custom:/usr/share/nginx/html/assets/custom"
# - "/nginx/nginx.conf:/etc/nginx/nginx.conf" # Not working !!!!!!!!!
# - phxnginx:/etc/nginx
ports:
- "8081:80"
# - "443:443"
labels:
- "traefik.enable=true"
- "traefik.http.routers.phxalpha.entrypoints=https"
- "traefik.http.routers.phxalpha.rule=Host(`alpha.phx-erp.de`)"
- "traefik.http.routers.phxalpha.middlewares=secHeaders@file"
- "traefik.http.routers.phxalpha.tls=true"
- "traefik.http.routers.phxalpha.tls.certresolver=http"
- "traefik.http.routers.phxalpha.service=phxalpha"
- "traefik.http.services.phxalpha.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
- "traefik.http.routers.phxalpha-insecure.entrypoints=http"
- "traefik.http.routers.phxalpha-insecure.rule=Host(`alpha.phx-erp.de`)"
- "traefik.http.routers.phxalpha-insecure.tls=false"
networks:
- proxy
- postgres
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
# container_name: phoenixSystemProd
# env_file: .env
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS=SSLv3={SMTP_TLS_CIPHERS}
command: [ "npm", "run", "start:server" ]
# ports:
# - "3000:3000"
# - "3400:3400"
# - "9615:9615"
# - "587:587" # Email Port
depends_on:
postgres:
condition: service_healthy
volumes:
- "asset-data:/usr/src/app/packages/dev-server/assets"
- "/server_custom:/usr/src/app/packages/dev-server/custom" # it seems tobe no effect if we make changes, not 100% of sure!
networks:
- postgres
deploy:
replicas: 1
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: [ "npm", "run", "start:worker" ]
depends_on:
postgres:
condition: service_healthy
volumes:
# - "/opt/containers/phx/assets:/usr/src/app/packages/dev-server/custo/assets"
# - "asset-data:/usr/src/app/packages/dev-server/assets"
- "/server_custom:/usr/src/app/packages/dev-server/custom"
networks:
- postgres
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
#command: redis-server --save 20 1 --appendonly no --requirepass ${REDIS_PASSWORD} --loglevel warning
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
# privileged: true
# ports:
# - 6379:6379
restart: always
environment:
# REDIS_APPENDFSYNC: "always"
ALLOW_EMPTY_PASSWORD: "no"
# REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
networks:
- postgres
volumes:
- /redis/data:/bitnami/redis/data
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- postgres # primary network [external]
- proxy # internal network
ports:
- "80:80"
- "443:443"
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
# FORCE_RENEW: 'true'
DOMAINS:
volumes:
- ./volumes/https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./volumes/https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
volumes:
db-data: null
app-data: null
asset-data: null
pgadmin: null
networks:
postgres:
name: postgres
driver: bridge
proxy:
name: proxy
driver: bridge

View File

@@ -0,0 +1,161 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
networks:
- backend
ports:
- "5432:5432"
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "./database:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin_container
networks:
- backend
- frontend
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "./pgadmin:/var/lib/pgadmin"
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixApp
volumes:
- "./app_custom:/usr/share/nginx/html/assets/custom"
networks:
- backend # primary network [external]
- frontend # internal network
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- "DB_HOST=phoenixDB"
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- "DB_USERNAME=postgres"
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- "REDIS_PASSWORD=${REDIS_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS}
command: ["npm", "run", "start:server"]
deploy:
replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now
networks:
- backend
depends_on:
postgres:
condition: service_healthy
phoenix-redis:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
networks:
- backend
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: ["npm", "run", "start:worker"]
depends_on:
postgres:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
networks:
- backend
restart: always
environment:
ALLOW_EMPTY_PASSWORD: "no"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
volumes:
- "./redis/data:/bitnami/redis/data"
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- frontend # [ PgAdmin, Phoenix-App ]
- external # [ Outside of the World]
ports:
- "80:80"
- "443:443"
# - host:container
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
CLIENT_MAX_BODY_SIZE: 0
# FORCE_RENEW: 'true'
DOMAINS:
volumes:
- ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
networks:
backend:
driver: bridge
external: false
frontend:
driver: bridge
external: false
external:
driver: bridge
external: true

View File

@@ -0,0 +1,161 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
networks:
- backend
ports:
- "5432:5432"
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "./database:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin_container
networks:
- backend
- frontend
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "./pgadmin:/var/lib/pgadmin"
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixApp
volumes:
- "./app_custom:/usr/share/nginx/html/assets/custom"
networks:
- backend # primary network [external]
- frontend # internal network
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- "DB_HOST=phoenixDB"
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- "DB_USERNAME=postgres"
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- "REDIS_PASSWORD=${REDIS_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS}
command: ["npm", "run", "start:server"]
deploy:
replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now
networks:
- backend
depends_on:
postgres:
condition: service_healthy
phoenix-redis:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
networks:
- backend
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: ["npm", "run", "start:worker"]
depends_on:
postgres:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
networks:
- backend
restart: always
environment:
ALLOW_EMPTY_PASSWORD: "no"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
volumes:
- "./redis/data:/bitnami/redis/data"
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- frontend # [ PgAdmin, Phoenix-App ]
- external # [ Outside of the World]
ports:
- "80:80"
- "443:443"
# - host:container
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
CLIENT_MAX_BODY_SIZE: 0
# FORCE_RENEW: 'true'
DOMAINS:
volumes:
- ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
networks:
backend:
driver: bridge
external: false
frontend:
driver: bridge
external: false
external:
driver: bridge
external: true

View File

@@ -0,0 +1,161 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
networks:
- backend
ports:
- "5432:5432"
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "./database:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin_container
networks:
- backend
- frontend
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "./pgadmin:/var/lib/pgadmin"
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixApp
volumes:
- "./app_custom:/usr/share/nginx/html/assets/custom"
networks:
- backend # primary network [external]
- frontend # internal network
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- "DB_HOST=phoenixDB"
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- "DB_USERNAME=postgres"
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- "REDIS_PASSWORD=${REDIS_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS}
command: ["npm", "run", "start:server"]
deploy:
replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now
networks:
- backend
depends_on:
postgres:
condition: service_healthy
phoenix-redis:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
networks:
- backend
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: ["npm", "run", "start:worker"]
depends_on:
postgres:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
networks:
- backend
restart: always
environment:
ALLOW_EMPTY_PASSWORD: "no"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
volumes:
- "./redis/data:/bitnami/redis/data"
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- frontend # [ PgAdmin, Phoenix-App ]
- external # [ Outside of the World]
ports:
- "80:80"
- "443:443"
# - host:container
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
CLIENT_MAX_BODY_SIZE: 0
# FORCE_RENEW: 'true'
DOMAINS:
volumes:
- ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
networks:
backend:
driver: bridge
external: false
frontend:
driver: bridge
external: false
external:
driver: bridge
external: true

View File

@@ -0,0 +1,164 @@
version: "2.1"
services:
postgres:
restart: always
image: "postgres:15.1-alpine"
container_name: phoenixDB
networks:
- backend
ports:
- "5432:5432"
environment:
- DEBUG=false
- POSTGRES_DB=phoenix
- "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
volumes:
- "./database:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 2s
retries: 5
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin_container
networks:
- backend
- frontend
environment:
PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- "pgadmin:/var/lib/pgadmin"
phoenix-app:
restart: always
image: "yurimatoslima/phoenix-frontend:alpha"
container_name: phoenixApp
volumes:
- "./app_custom:/usr/share/nginx/html/assets/custom"
networks:
- backend # primary network [external]
- frontend # internal network
depends_on:
- phoenix-system
phoenix-system:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
environment:
- "DB_HOST=phoenixDB"
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- "DB_USERNAME=postgres"
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- "REDIS_PASSWORD=${REDIS_PASSWORD}"
- RUN_JOB_QUEUE=${RUN_JOB_QUEUE}
- SMTP_FROM=${SMTP_FROM}
- SMTP_TYPE=${SMTP_TYPE}
- SMTP_NAME=${SMTP_NAME}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_LOGGING=${SMTP_LOGGING}
- SMTP_DEBUG=${SMTP_DEBUG}
- SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED}
- SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION}
- ENV_MODE=${ENV_MODE}
- SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS}
command: ["npm", "run", "start:server"]
deploy:
replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now
networks:
- backend
depends_on:
postgres:
condition: service_healthy
phoenix-redis:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-worker:
restart: always
image: "yurimatoslima/phoenix-backend:alpha"
networks:
- backend
environment:
- DB_HOST=phoenixDB
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- DB_USERNAME=postgres
- "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}"
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: ["npm", "run", "start:worker"]
depends_on:
postgres:
condition: service_healthy
volumes:
- "./assets:/usr/src/app/packages/dev-server/assets"
- "./server_custom:/usr/src/app/packages/dev-server/custom"
phoenix-redis:
image: 'bitnami/redis:latest'
container_name: redis
command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb
user: root
networks:
- backend
restart: always
environment:
ALLOW_EMPTY_PASSWORD: "no"
REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG
REDIS_PASSWORD: ${REDIS_PASSWORD}
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
volumes:
- "./redis/data:/bitnami/redis/data"
https_portal:
container_name: https_portal
image: "steveltn/https-portal:1.21"
restart: unless-stopped
user: "root"
networks:
- frontend # [ PgAdmin, Phoenix-App ]
- external # [ Outside of the World]
ports:
- "80:80"
- "443:443"
# - host:container
environment:
STAGE: "production" # Use Let's Encrypt production server
WEBSOCKET: "true" # Enable websocket support
DEBUG: "true"
RENEW_MARGIN_DAYS: 30
CLIENT_MAX_BODY_SIZE: 0
# FORCE_RENEW: 'true'
DOMAINS:
volumes:
- ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs
- ./https_portal/log:/var/log/nginx # nginx logs
depends_on:
- phoenix-app
- phoenix-system
- pgadmin
- phoenix-redis
- postgres
networks:
backend:
driver: bridge
external: false
frontend:
driver: bridge
external: false
external:
driver: bridge
external: true
volumes:
pgadmin: null

28
health_check.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
# Define the URL of your health endpoint
HEALTH_ENDPOINT="http://localhost:3000/health"
# Make a GET request to the health endpoint and capture the response
RESPONSE=$(wget -qO- --timeout=2 "$HEALTH_ENDPOINT" )
# Display the response from the health endpoint
echo "Response from health endpoint: $RESPONSE"
# Extract the value of the "status" field using jq
status=$(echo "$RESPONSE" | jq -r '.status')
# Check if the status is "ok"
if [[ "$status" == "ok" ]]; then
echo "Health check successful"
exit 0 # Exit with success status
else
echo "Health check failed"
exit 1 # Exit with failure status
fi
# if [[ "$RESPONSE" =~ '"status": "ok"' ]]; then
# echo "Health check successful"
# exit 0 # Exit with success status
# else
# echo "Health check failed: $RESPONSE"
# exit 1 # Exit with failure status
# fi

10
health_check2.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Define the URL of your health endpoint
HEALTH_ENDPOINT="http://localhost:3000/health"
# Make a GET request to the health endpoint and capture the response
response=$(wget -qO- --connect-timeout=2 --server-response "$HEALTH_ENDPOINT" 2>&1 | awk '/^HTTP/{print $2}')
# Display the HTTP status code from the response
echo "HTTP status code: $response"

View File

@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDLTCCAhWgAwIBAgIUQPIuFeI8gm1/83HVKh01GfKBb3owDQYJKoZIhvcNAQEL
BQAwJTEjMCEGA1UEAwwaZGVmYXVsdC1zZXJ2ZXIuZXhhbXBsZS5jb20wIBcNMjQw
MTE0MjEzODE3WhgPMjEyMzEyMjEyMTM4MTdaMCUxIzAhBgNVBAMMGmRlZmF1bHQt
c2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA2u6NnARETzBbUuyQvbrsbg0BM47LgCoOWAt15Cr7T+Dz+hIGLOj5he9H56I6
1pzRd3MuEJp3LuQZcnBR+FKqcpUNlEmE8YZuJiEz0kdbpYHDK0+PTHO5hxk9S+1K
TdDM22W3474AcxOMbvSj7yIGhUnJFJMZHtROYaCNMUk1h6V8bNOxg09KN3wN3LWG
1JrnEdX46bHwkEzdFjJmgdkLYSnSkeuUcKOGHgJw+Na65+Xu6cSeq7D5lVW2cHb7
X7kXxAnnY58BuEdZmMVkreKJK14iBqY8Tcsy+fyaOizE/xfks7uPaeQRkSTfra+j
QvVI2n0gN/BEbiWyhfQkS1QWgwIDAQABo1MwUTAdBgNVHQ4EFgQUEz5cRKx/+Fbj
R0GfEgBY+/LsTX8wHwYDVR0jBBgwFoAUEz5cRKx/+FbjR0GfEgBY+/LsTX8wDwYD
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAQ3I+Y58QVTKx0ZqW8AU6
fSKhSgSkY1YBbjv7mYXY2qSijEw8naDQIPD55fPiyhgLmIaaFYW4awb9Y8O/qMnb
VQ9ZZ/SU6VdESKmQBOPs1WNlxQFhMXa+Oro7MMgDEYXyawlDHytzuDRWaJmbACHV
pqomu0raGrdnusswWH2rQwYjQstOnwIX/uPSq++SvI4UkcNDmvvBwq2PuJU21kJ0
iYiCsWQCU8Gd/70tfBN9IAJAccQKSMEhXeyS25mYCTzwwCO3dqoEjTu57W+MNdCQ
24RAVuoU1JvPtsn87WPYKH2CnCuBTwi5CaH4OX1ajvgLUk0uT2X+kONYq4Gvi793
uA==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDa7o2cBERPMFtS
7JC9uuxuDQEzjsuAKg5YC3XkKvtP4PP6EgYs6PmF70fnojrWnNF3cy4Qmncu5Bly
cFH4UqpylQ2USYTxhm4mITPSR1ulgcMrT49Mc7mHGT1L7UpN0MzbZbfjvgBzE4xu
9KPvIgaFSckUkxke1E5hoI0xSTWHpXxs07GDT0o3fA3ctYbUmucR1fjpsfCQTN0W
MmaB2QthKdKR65Rwo4YeAnD41rrn5e7pxJ6rsPmVVbZwdvtfuRfECedjnwG4R1mY
xWSt4okrXiIGpjxNyzL5/Jo6LMT/F+Szu49p5BGRJN+tr6NC9UjafSA38ERuJbKF
9CRLVBaDAgMBAAECggEBANgK0HNFQqNidLw/9hVEgEuZSbY3E1pGJiF8LbobMCSD
OD9tyepHfPROTAaocKeX2JynbK21wCblsLbdYAZMjSbFL8FFS4uLvOajnR/Eiwuo
IZB70kz/ZfWLUpG6d7iSc5WNqwlyVb85azuS7rLsQMMHLQbAoelqWG6+oJYiSFCx
ibH+YqGB6oh9p0eG0ACRw+Gb2ivKZYzr3rcysutEMGJ0fqyfxeUSWFke8qVRuR8F
y5K4c4+jFHUy+jvWrteCW6eqeZelyx2SzZMkKAYHxbkOv5ow1FckPPDjmqDJt+ZB
10PntPboCKLnd4XFeee2kKZhOp5ZUNbhK6AevZidrwECgYEA9RTyVnaZfFjuvBxw
W5xFJ9nAzNft7lWXF/ggusgclTWgLzzOVi+i5Pa/BXLWC5m+Hy3Hv+7+SnO8SjRI
+g8za1pFLzDnLs1NI3w5SgJl/xcyfqzZOxZlNEHFqF8SmQmmD5ix6JSYJngYQEpd
d1BU4/LWcKff4YPZynfNe1b7YycCgYEA5K9gk8xYBU9Bgh5Uh4iCkgxBhfmNua6L
ShvYwYVUe5cwE/AJqaafW3CDV34hwHdT2cVYbXZOeNIFaUNVOwUV3+2bi/tdn7rZ
3cyMYGy46hdiAjDyseOy7kuoA/PJIcMOBrzMn/+dv7vBp/L6ArpR45ZCGxty4CCx
fGF1dS5A20UCgYEAvUpyaimsHoipy4zDk149Y6wh55UXZi+hRZgV323T9cK3eASk
8ZhVXjbeDx1FCSyz1W0MjMfQjDybv0xm2QyIkG/mY66HwHQ9Eh1OOkVj9gQ6sfBa
z/JaNGRgf8z+lkkHg6BSOOscIQo84NsPGapoBq92xQhEOPAXdPPXN15VR50CgYBW
HXCp125h+Xl6rT85ln9Mzg6yi8oB3SeYranPHg01STaSm3aYCyXBQjpDbTz6hDTw
Ma9d8QoV10iwXemvgve8znYfnXWhG7TFICzQdsCfblS67IHH2S3dLGJFsrzP2Ork
QJ5xtclKlUKUoxvggRcrM78LBCgbHFSZuP2JNfS4XQKBgDJOvPfagivsz3E5LngY
eGuD/CmGsSmn+wLA8qm60hwxAFJ/LQbBp23zBS5FFilLB/VKyzZdSAPKviDLdNWo
xCud/N3nhq7y/Q5/WIAnsyGPUTtISL16AbC8q99zCBDI0PrqVuefMc1NAyA8dBoF
m9SIJsXjU4M0zYKt6fJ92ZDG
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,8 @@
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEA/3uKY1xllUmpwHUBRxcxDvAtUsWCC6KqxRjgXxE36+3EyEMTWUU1
GqtejSJOlV12yHoeQ1ztoa8784fRG6NtIgMookhXOveIqE3bxi/UAXZqkAjegS+v
FVoeYp8xcj7/jigeZGwvT2ZeN0O+O2Ajy969EeBvg0T8XFRL2qggf3ObVCqocUPc
dykcnScZlcRcsQh2B6iCS7vB6BiK2NM485A95lLQF9x++1tRsaxqwfB3oelL7F3R
wcooL8akJqgg2T1kLFvRmTV7FlTLdRFO46FexwPYFaLeCnty8pb7Aph9JW0+tr34
7N2hxZFIFcMGRRrzEqo9WDPWJPaaaJFKYwIBAg==
-----END DH PARAMETERS-----

View File

View File

@@ -0,0 +1 @@
/var/lib/https-portal/xxx_CHANGE_xxx/production/signed.crt

View File

@@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICXjCCAUYCAQAwGTEXMBUGA1UEAwwOeHh4X0NIQU5HRV94eHgwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdbJMu8BA0KXuNcUlR8aFB7eQinY3xwu0/
OXvTYmZkyPwuLDgG0Ni3uHVjaOqEg9oH+5cla6HvS6URjmw/+T+RuHSoqyEPqhnb
aU/Dd8++EXuLtYfnKd8cUxJKHpG+KtDQzi0Z4h7gkJEx3jLDhRRSmeBkCaePUjgR
4ogY+/jQ+0Pc2qbBbph8zNbYGvVLRIhbtATbpP3dNBmaL1QplUEI2qhXSB/bd6zG
zH9Rimpv4Mc6Lgw9Gpnk2AACsQ99adtJ/y04ctzpPOqYfy1nS00ZtXjtqBzAL88C
hAKzPK7Gv4s2YKAEnRx0q46aIW0lv+V53scRJu4yssy+WPZVYWqpAgMBAAGgADAN
BgkqhkiG9w0BAQsFAAOCAQEANT50yDJj+0DkCdrj1waW+wC5WCcZPNAwjG4Piy27
9VuULU1Pjs7d/pUmZJZ3WK5G3gMgvYCx3tFC9ZBmdZ6lJpeC6vaixlE6KyCwh4o0
Qkx1M9nCyiQ/DhrwvUgCdhCQUtoUWxe7wrObP8jUUgcb4fOsEm06kB6HMaQsrqIr
1df5smkkx3bB0nJCosWCDmZkJWM21u/8UepqSz/SoN5lFmUM+F3y0/rqgrAbRs5y
UzapgNvO5kCr8dW0jKUcrEc0s1sWFb4DLxdgfj+Usofny/PNjO+bBXuR6FKgqTVQ
ycfj6eyiY5v8rAjl2LNOQ3YCED3+NSLPeN7nubCt6KklWQ==
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDa7o2cBERPMFtS
7JC9uuxuDQEzjsuAKg5YC3XkKvtP4PP6EgYs6PmF70fnojrWnNF3cy4Qmncu5Bly
cFH4UqpylQ2USYTxhm4mITPSR1ulgcMrT49Mc7mHGT1L7UpN0MzbZbfjvgBzE4xu
9KPvIgaFSckUkxke1E5hoI0xSTWHpXxs07GDT0o3fA3ctYbUmucR1fjpsfCQTN0W
MmaB2QthKdKR65Rwo4YeAnD41rrn5e7pxJ6rsPmVVbZwdvtfuRfECedjnwG4R1mY
xWSt4okrXiIGpjxNyzL5/Jo6LMT/F+Szu49p5BGRJN+tr6NC9UjafSA38ERuJbKF
9CRLVBaDAgMBAAECggEBANgK0HNFQqNidLw/9hVEgEuZSbY3E1pGJiF8LbobMCSD
OD9tyepHfPROTAaocKeX2JynbK21wCblsLbdYAZMjSbFL8FFS4uLvOajnR/Eiwuo
IZB70kz/ZfWLUpG6d7iSc5WNqwlyVb85azuS7rLsQMMHLQbAoelqWG6+oJYiSFCx
ibH+YqGB6oh9p0eG0ACRw+Gb2ivKZYzr3rcysutEMGJ0fqyfxeUSWFke8qVRuR8F
y5K4c4+jFHUy+jvWrteCW6eqeZelyx2SzZMkKAYHxbkOv5ow1FckPPDjmqDJt+ZB
10PntPboCKLnd4XFeee2kKZhOp5ZUNbhK6AevZidrwECgYEA9RTyVnaZfFjuvBxw
W5xFJ9nAzNft7lWXF/ggusgclTWgLzzOVi+i5Pa/BXLWC5m+Hy3Hv+7+SnO8SjRI
+g8za1pFLzDnLs1NI3w5SgJl/xcyfqzZOxZlNEHFqF8SmQmmD5ix6JSYJngYQEpd
d1BU4/LWcKff4YPZynfNe1b7YycCgYEA5K9gk8xYBU9Bgh5Uh4iCkgxBhfmNua6L
ShvYwYVUe5cwE/AJqaafW3CDV34hwHdT2cVYbXZOeNIFaUNVOwUV3+2bi/tdn7rZ
3cyMYGy46hdiAjDyseOy7kuoA/PJIcMOBrzMn/+dv7vBp/L6ArpR45ZCGxty4CCx
fGF1dS5A20UCgYEAvUpyaimsHoipy4zDk149Y6wh55UXZi+hRZgV323T9cK3eASk
8ZhVXjbeDx1FCSyz1W0MjMfQjDybv0xm2QyIkG/mY66HwHQ9Eh1OOkVj9gQ6sfBa
z/JaNGRgf8z+lkkHg6BSOOscIQo84NsPGapoBq92xQhEOPAXdPPXN15VR50CgYBW
HXCp125h+Xl6rT85ln9Mzg6yi8oB3SeYranPHg01STaSm3aYCyXBQjpDbTz6hDTw
Ma9d8QoV10iwXemvgve8znYfnXWhG7TFICzQdsCfblS67IHH2S3dLGJFsrzP2Ork
QJ5xtclKlUKUoxvggRcrM78LBCgbHFSZuP2JNfS4XQKBgDJOvPfagivsz3E5LngY
eGuD/CmGsSmn+wLA8qm60hwxAFJ/LQbBp23zBS5FFilLB/VKyzZdSAPKviDLdNWo
xCud/N3nhq7y/Q5/WIAnsyGPUTtISL16AbC8q99zCBDI0PrqVuefMc1NAyA8dBoF
m9SIJsXjU4M0zYKt6fJ92ZDG
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA3WyTLvAQNCl7jXFJUfGhQe3kIp2N8cLtPzl702JmZMj8Liw4
BtDYt7h1Y2jqhIPaB/uXJWuh70ulEY5sP/k/kbh0qKshD6oZ22lPw3fPvhF7i7WH
5ynfHFMSSh6RvirQ0M4tGeIe4JCRMd4yw4UUUpngZAmnj1I4EeKIGPv40PtD3Nqm
wW6YfMzW2Br1S0SIW7QE26T93TQZmi9UKZVBCNqoV0gf23esxsx/UYpqb+DHOi4M
PRqZ5NgAArEPfWnbSf8tOHLc6TzqmH8tZ0tNGbV47agcwC/PAoQCszyuxr+LNmCg
BJ0cdKuOmiFtJb/led7HESbuMrLMvlj2VWFqqQIDAQABAoIBAFpeJJekfEh9oaIx
WQYrgm/A4jnKaZMAxgjmsgWshDOf32QMwfTuKXSZwLcIq6XXlhVp9d7c1aMvEThg
Ewfs9qfHSz1HUl/tQU5N5bLV5CAjTHPRa5zJdvg9YxqC7WJaYQzHCJsmsQlflxJu
J/OqDYhEqtLJKeyRVrbd6EOiGoNXNpiNruUD4JwCZPlqmTQNIKNLDMdkWh/RIgKx
eWUynVp2WuUnJmcklBfClZfR6Oijq0fDVNmrFzJ/N1Dc9NMEHKSpH9sr5cVvMiVP
/aaK7rJVI1BKEMNWqUNqRQ5uFBtPSJSnKhZQgCfdN+t+lM+E7VlkshBcrF+6PDyj
20heOS0CgYEA8YBgtsyVTPvrzktYA2q4eB7pXwpRtwVoLi/D7GG5pX+WclUTZLkV
Kz53q4/GPQXlbevx6EeCDUZ2ySEh1onFntpf2D6KbjOOmpicAE2hryIj61rtHoRV
+dZx6/MXteMyyKH7g2WK4DiiVPKgqACcUAlOjEW7klpzbUUXVwQ2coMCgYEA6reh
IvRacTl38TA9ujbu7U7prUAP/IpVq2Lh5UV6tCvw17pOk9ArLD2aT3rAxc0Ey95L
VWdtJTTG8EOm2NuDZB7JWp7P2rA8N/iXxl4oZ22StHdfVs+intX99zxPVD3vq2iS
L1aGlmQz4FuqdYzfslxWzs/pJ7df1ECuJolOtmMCgYBmOX42woCMNrLI/vGBeMIe
7o7AUSDnxN0ld8iKHY+0sz4epU5xOzrvtCB5uYEjQYStM8uRE/vD3MjZODIXmvfQ
1wTtBwQXw7EgVWrrYfEHrf7gV/u5CDFQcOqGAr9NmZ9cd9x78RaI9NAZ/x3sH14L
LvVVwQq11522aiGIDttxOwKBgQDlFlcqw64mhn2/pWMKBiXK7tN6amVwCiC1h2yN
lvO9OIn4NHoPIQWSR4n9+wR9yq3cwVlrwOexgcKNrKoDTLUAGmBSl2CtxIbx5itU
zH/I+xROGZivJTdGqfwXvAB9a3oqJYVQuLXhwWk0mKNV2ipXbnK3pgud3QemJX8U
U73EmwKBgBdKDRsGhVX7UA1zXZermH5QcPt16wLDmwL8KIrM3hu59g433khnf3mo
uAx2EhH1rxBkvSZJ4lKC6mC8cS2mmqFkQZJlTZnLdVWW0su7BDeU61L+Nn4b+REL
7kSHZ+5SgKv+vn1Ei3njF8OPW3gL1WQoSYz1g8o3sajv40QMWSx0
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDLTCCAhWgAwIBAgIUQPIuFeI8gm1/83HVKh01GfKBb3owDQYJKoZIhvcNAQEL
BQAwJTEjMCEGA1UEAwwaZGVmYXVsdC1zZXJ2ZXIuZXhhbXBsZS5jb20wIBcNMjQw
MTE0MjEzODE3WhgPMjEyMzEyMjEyMTM4MTdaMCUxIzAhBgNVBAMMGmRlZmF1bHQt
c2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA2u6NnARETzBbUuyQvbrsbg0BM47LgCoOWAt15Cr7T+Dz+hIGLOj5he9H56I6
1pzRd3MuEJp3LuQZcnBR+FKqcpUNlEmE8YZuJiEz0kdbpYHDK0+PTHO5hxk9S+1K
TdDM22W3474AcxOMbvSj7yIGhUnJFJMZHtROYaCNMUk1h6V8bNOxg09KN3wN3LWG
1JrnEdX46bHwkEzdFjJmgdkLYSnSkeuUcKOGHgJw+Na65+Xu6cSeq7D5lVW2cHb7
X7kXxAnnY58BuEdZmMVkreKJK14iBqY8Tcsy+fyaOizE/xfks7uPaeQRkSTfra+j
QvVI2n0gN/BEbiWyhfQkS1QWgwIDAQABo1MwUTAdBgNVHQ4EFgQUEz5cRKx/+Fbj
R0GfEgBY+/LsTX8wHwYDVR0jBBgwFoAUEz5cRKx/+FbjR0GfEgBY+/LsTX8wDwYD
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAQ3I+Y58QVTKx0ZqW8AU6
fSKhSgSkY1YBbjv7mYXY2qSijEw8naDQIPD55fPiyhgLmIaaFYW4awb9Y8O/qMnb
VQ9ZZ/SU6VdESKmQBOPs1WNlxQFhMXa+Oro7MMgDEYXyawlDHytzuDRWaJmbACHV
pqomu0raGrdnusswWH2rQwYjQstOnwIX/uPSq++SvI4UkcNDmvvBwq2PuJU21kJ0
iYiCsWQCU8Gd/70tfBN9IAJAccQKSMEhXeyS25mYCTzwwCO3dqoEjTu57W+MNdCQ
24RAVuoU1JvPtsn87WPYKH2CnCuBTwi5CaH4OX1ajvgLUk0uT2X+kONYq4Gvi793
uA==
-----END CERTIFICATE-----

View File

@@ -0,0 +1 @@
/var/lib/https-portal/yuri.phx-erp.de/production/signed.crt

View File

@@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICXzCCAUcCAQAwGjEYMBYGA1UEAwwPeXVyaS5waHgtZXJwLmRlMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAubZVDw58bDETODdba9eVVMTACqK4+f4f
BMWtrR0tk+REWWZjSpBvLWdRKFWruDPchXWPT0GQVve5I+VgYkCTzsLfBQb0Dca2
y0r0WBg7Tf0EqDOruRz9WtyFDJPnix4h774oqrkCzdaNCZtxDiKGmsImWxuap/Pq
WWF4XO+Vxk6KpC4WRsCbBRAvIVBT5ksI3WHsLAkUwxPJgOLERCDUs1gnSZRZPMRy
9irzp1cx6SxpBTp4jqtVJJeczzfihLAtAblDkD92RFnT05PLfIxhj3XLIkMAKipL
469nbMm1LmqX77fb8d78Olmu+h60iF4swJ+TCnHxlm0IfXVHdCzXDwIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBABrMlxLDRYOZU8uKifTn3CzpauW/asC0+zJw3469
IC7WxChVo1Bqgvk3DHB6Kosg/nuqA3H6p87VhO8pGoC9NLDpd6x1u+FiTZiycml6
aPUZ22yKA88zmhOxq1UmkvnjE4mwE+fT+ant/g6htdp+p7GxTh9KwCcjm4MGSMaj
z2Hv+bjjYReHMwHK17qKaOh9TJ+DeC8WNqYQEuhG6Afkf1S3qab3J6rOXHa4P8nc
mca67vsnNaQPqouuMGomDgbrt5VR3srFhRPKwu1x+2EXUOXEy8Ty/dlzQa4qFa7k
eHmQxBZWp7gtBYtHg25IQPKRlRWpHLxh1TEszX8s0XcaxCk=
-----END CERTIFICATE REQUEST-----

View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAubZVDw58bDETODdba9eVVMTACqK4+f4fBMWtrR0tk+REWWZj
SpBvLWdRKFWruDPchXWPT0GQVve5I+VgYkCTzsLfBQb0Dca2y0r0WBg7Tf0EqDOr
uRz9WtyFDJPnix4h774oqrkCzdaNCZtxDiKGmsImWxuap/PqWWF4XO+Vxk6KpC4W
RsCbBRAvIVBT5ksI3WHsLAkUwxPJgOLERCDUs1gnSZRZPMRy9irzp1cx6SxpBTp4
jqtVJJeczzfihLAtAblDkD92RFnT05PLfIxhj3XLIkMAKipL469nbMm1LmqX77fb
8d78Olmu+h60iF4swJ+TCnHxlm0IfXVHdCzXDwIDAQABAoIBAHY0eft1aviqW+Ni
SMxhkek8ukeKv1ZPy4qMEDmp4sLJfj+xDe399OXfZybXMM+0It7HrwnxX2AbmToh
27FuDSaDntRiUqEaJGtNMC2KbuT68SXmjZzruM9GoWEaGzzPVyZz0QqpbAF8WJUO
3WzzyN1kSmmfLldMx5NQmP3+eUSYz5//WvuNUYtUCIm2Zk9WWu6Nd+kFGZAFVFq8
GEmXGPK1jmxb7AMeQ4BjYy9kME48H9Nh274Q4dXnbZ1UGx+oAt5gTTCidZFGxapz
uF70EKmzf4n5Hqtc+VcrB/tKmvVXOtf/g7riSCt0V5najzdY1pB0iSeo0U+JG8EM
ORtg1aECgYEA4jriJ5bBy3xnZ+g+BmFLt/8U8XTo91rX5Y15WCSTk4dtGdDkjiUd
5eHBIHjgCE7z/MJaZWja+AZWwoWxXkrSxtLt4T+EvuuAxCYXYn90TsDfploPZloe
Q8AGwsWSi8hzuD4fGyPU19//7Pxz3/8WU4si39UH8cmG62jYgBU9PDkCgYEA0iaB
6Fxbq2H8gBipiATwIZhsCsqV/chF4RQLt0d7qZzZQrRcbPfx7Bn69+BLvR8od1wp
auuCISeS6F+I2IaVP8AWawMMi8zifoRlbZMz/K2kVk+kSPXj3eQgPy579/JK4FYz
rY6CT5JODdsKjIyq/7RoCG0dKF0th0ZSjn7MvYcCgYBzPVuGnx0I8s4Z+AvgZB+W
ErIwbUVe+z+PB4oQhFFIjWveArLqVa3tNBqU1/4HPXC8CKTTk543ScNYQ5IeXi8Q
aNIUM68DMiPdxymSWyp8E3PZ4XaGxNE14dOP0+Tan7mS2NIvmQkLDmfn6JF+QQq2
c+HH81Sgre+0aywd0rPmwQKBgE+tafO/kMIaFLI8p4p61NDoCY7N4LCoDlaYUxja
cXiNj5JK8AAgwgjSkOUKlazO83jN6KYxRNVtO7X/AtOVs2DIY7ePIGKg+/8cE5jI
Bx32eCiBabiAAjVPGSrbZQVNSDZmeJGFRsMEpbN7KTTA4NSygf8v364+JdT0RLji
Op5hAoGBAJHCy3Yn5pru8ZRvXQT6w2YRxS7qX/bU9hCm9gcFc5g6Wn/isGNStCNn
OUUwvuMx/gVxFaeXcliwuqeryJkEu2vq3xJWdoy5PM3phTq6LDqbLlVGc4WQR0wX
2ZzL0fg+fW5VKwgKWVHjAWyVMMLCclgQ+JMOzXvTaVVQuPaw0952
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,60 @@
-----BEGIN CERTIFICATE-----
MIIE7DCCA9SgAwIBAgISBI64QRjjzNargZ24g1zSNNy0MA0GCSqGSIb3DQEBCwUA
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yNDAzMTQxMDUxMjVaFw0yNDA2MTIxMDUxMjRaMBoxGDAWBgNVBAMT
D3l1cmkucGh4LWVycC5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ALm2VQ8OfGwxEzg3W2vXlVTEwAqiuPn+HwTFra0dLZPkRFlmY0qQby1nUShVq7gz
3IV1j09BkFb3uSPlYGJAk87C3wUG9A3GtstK9FgYO039BKgzq7kc/VrchQyT54se
Ie++KKq5As3WjQmbcQ4ihprCJlsbmqfz6llheFzvlcZOiqQuFkbAmwUQLyFQU+ZL
CN1h7CwJFMMTyYDixEQg1LNYJ0mUWTzEcvYq86dXMeksaQU6eI6rVSSXnM834oSw
LQG5Q5A/dkRZ09OTy3yMYY91yyJDACoqS+OvZ2zJtS5ql++32/He/DpZrvoetIhe
LMCfkwpx8ZZtCH11R3Qs1w8CAwEAAaOCAhIwggIOMA4GA1UdDwEB/wQEAwIFoDAd
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNV
HQ4EFgQUc0EwWzag8rbA8ilw2i74+YwsV9UwHwYDVR0jBBgwFoAUFC6zF7dYVsuu
UAlA5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8v
cjMuby5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9y
Zy8wGgYDVR0RBBMwEYIPeXVyaS5waHgtZXJwLmRlMBMGA1UdIAQMMAowCAYGZ4EM
AQIBMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAouK/1h7eLy8HoNZObTen3GVD
sMa1LqLat4r4mm31F9gAAAGOPM2HQQAABAMASDBGAiEAuLvMugvCEFeStpfryOJt
efHOWSb56a1OFlzP9Vo3bOcCIQCYP3PcXJLfDqP4UHsAiztCtgtX+jcjImvx00Ci
DeDlvAB2AHb/iD8KtvuVUcJhzPWHujS0pM27KdxoQgqf5mdMWjp0AAABjjzNh0oA
AAQDAEcwRQIhAII6gkvYkUo6GXa5NG87P5ysnd0sVY82twX4Lh0Gl/ykAiApXGxk
Uxik2rggK7T6V17wwNKwKgRoqXQ4Gx3efaQ6szANBgkqhkiG9w0BAQsFAAOCAQEA
kplEOuY7gpgH4ITyCNFlYGXQG6SRN959FVkOJrgqT3m9A5k4K5JTSMZVjh0W5WOF
IUXErOOl7oV7XOhB05QQ6coJhRaGT1cJfQN14Gpj9QZrCN5CB/wXZG9SH9NT/MtP
9wyqHRC7pXBEF6poFXcirY8x45Q/frMtONYGiJCCPBXBEXfgvXSebzKXS+qT3Yoe
icjPxh+PlvXi7AFEmWow2iB1SXG7pVE1+QuSkHc7OS2NM1H8Fd3z3ocH2+bnK7Vp
3nnOdYnzxi4aUKdMdl/Wt+Y4eyMr3UIYjyyV6W7XJMkrjtMoinDqvfdM15tTPuij
C8pcAaRpPPO/mPA5jVBSDg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
nLRbwHOoq7hHwg==
-----END CERTIFICATE-----

126
nginx/nginx.conf Normal file
View File

@@ -0,0 +1,126 @@
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
client_max_body_size 64m;
#client_body_temp_path /data/temp;
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
sendfile on;
client_max_body_size 64m;
location / {
try_files $uri $uri/ /index.html;
}
# https://serverfault.com/questions/379675/nginx-reverse-proxy-url-rewrite
location /backend-api/ {
#rewrite ^/backend-api(.*) /$1 break;
proxy_pass http://phoenix-system:3000/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /admin-api {
proxy_pass http://phoenix-system:3000/admin-api;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /remote-assets {
proxy_pass http://phoenix-system:3000/remote-assets;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /sti {
proxy_pass http://phoenix-system:3000/sti;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /ws {
proxy_pass http://phoenix-system:3000/graphql;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server { # This new server will watch for traffic on 443
listen 443 ssl http2;
server_name localhost;
ssl_certificate /etc/nginx/external-certificate/certificate.crt;
ssl_certificate_key /etc/nginx/external-certificate/certificate.key;
root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
sendfile on;
client_max_body_size 64m;
location / {
try_files $uri $uri/ /index.html;
}
# https://serverfault.com/questions/379675/nginx-reverse-proxy-url-rewrite
location /backend-api/ {
#rewrite ^/backend-api(.*) /$1 break;
proxy_pass http://phoenix-system:3000/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
}
location /admin-api {
proxy_pass http://phoenix-system:3000/admin-api;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /remote-assets {
proxy_pass http://phoenix-system:3000/remote-assets;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
}
location /sti {
proxy_pass http://phoenix-system:3000/sti;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /ws {
proxy_pass http://phoenix-system:3000/graphql;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More