deployment scripts changes. staging is now demo, production has two instances - one for staging

This commit is contained in:
Dobromir Popov
2024-03-05 22:35:49 +02:00
parent 11df60c834
commit 81f53a4ec7
5 changed files with 67 additions and 62 deletions

View File

@ -0,0 +1,39 @@
version: "3"
services:
nextjs-app: # https://sofia.mwhitnessing.com/
hostname: jwpw-app-staging # jwpw-nextjs-app-1
image: docker.d-popov.com/jwpw:latest
volumes:
- /mnt/docker_volumes/pw-demo/app/public/content/uploads/:/app/public/content/uploads
environment:
- NODE_ENV=prod_staging
- TZ=Europe/Sofia
- DATABASE_URL=mysql://jwpwsofia_demo:dwxhns9p9vp248@jwpwsofia:3306/jwpwsofia_demo
- UPDATE_CODE_FROM_GIT=true # Set to true to pull latest code from Git
- GIT_BRANCH=main
- GIT_USERNAME=deploy
- GIT_PASSWORD=L3Kr2R438u4F7
command: sh -c " cd /app && npm install && npx next build && npm run nodeenv; tail -f /dev/null"
tty: true
stdin_open: true
restart: always
networks:
- infrastructure_default
mariadb:
deploy:
replicas: 0
hostname: mariadb-demo
image: mariadb:latest #mariadb:10.4
volumes:
- /mnt/docker_volumes/pw-demo/data/mysql:/var/lib/mysql
environment:
MARIADB_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93
MYSQL_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93
MYSQL_DATABASE: jwpwsofia_demo
MYSQL_USER: jwpwsofia_demo
MYSQL_PASSWORD: dwxhns9p9vp248
networks:
- infrastructure_default
networks:
infrastructure_default:
external: true

View File

@ -1,57 +0,0 @@
version: "3"
services:
nextjs-app: # https://sofia.mwhitnessing.com/
hostname: jwpw-app-staging # jwpw-nextjs-app-1
image: docker.d-popov.com/jwpw:latest
volumes:
- /mnt/docker_volumes/pw-staging/app/public/content/uploads/:/app/public/content/uploads
environment:
- NODE_ENV=prod_staging
- TZ=Europe/Sofia
- DATABASE_URL=mysql://jwpwsofia:dwxhns9p9vp248V39xJyRthUsZ2gR9@mariadb-staging:3306/jwpwsofia
- UPDATE_CODE_FROM_GIT=true # Set to true to pull latest code from Git
- GIT_BRANCH=main
- GIT_USERNAME=deploy
- GIT_PASSWORD=L3Kr2R438u4F7
command: sh -c " cd /app && npm install && npm run nodeenv; tail -f /dev/null"
tty: true
stdin_open: true
restart: always
# ports:
# - "3001:3000"
networks:
- infrastructure_default
mariadb:
hostname: mariadb-staging
image: mariadb:latest #mariadb:10.4
volumes:
- /mnt/docker_volumes/pw-staging/data/mysql:/var/lib/mysql
environment:
MARIADB_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262
MYSQL_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262
MYSQL_DATABASE: jwpwsofia
MYSQL_USER: jwpwsofia
MYSQL_PASSWORD: dwxhns9p9vp248V39xJyRthUsZ2gR9
#command: ["mysqld", "--max-connections=1000", "--sql-mode=ALLOW_INVALID_DATES,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE,IGNORE_SPACE,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_UNSIGNED_SUBTRACTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY,PIPES_AS_CONCAT,REAL_AS_FLOAT,STRICT_ALL_TABLES,STRICT_TRANS_TABLES,ANSI,DB2,MAXDB,MSSQL,MYSQL323,MYSQL40,ORACLE,POSTGRESQL,TRADITIONAL", "--wait-timeout=28800"]
networks:
- infrastructure_default
postgres:
hostname: postgres
image: postgres
restart: always
# set shared memory limit when using docker-compose
shm_size: 128mb
# or set shared memory limit when deploy via swarm stack
#volumes:
# - type: tmpfs
# target: /dev/shm
# tmpfs:
# size: 134217728 # 128*2^20 bytes = 128Mb
environment:
POSTGRES_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262
networks:
- infrastructure_default
networks:
infrastructure_default:
external: true

View File

@ -3,6 +3,8 @@ services:
nextjs-app: # https://sofia.mwhitnessing.com/
hostname: jwpw-app # jwpw-nextjs-app-1
image: docker.d-popov.com/jwpw:latest
deploy:
replicas: 2
#ports:
# - "3000:3000"
volumes:
@ -30,7 +32,7 @@ services:
volumes:
- /mnt/docker_volumes/pw/data/mysql:/var/lib/mysql
environment:
MARIADB_ROOT_PASSWORD: dwxhns9p9vp248V39xJyRthUsZ2gR9
# MARIADB_ROOT_PASSWORD: dwxhns9p9vp248V39xJyRthUsZ2gR9
MYSQL_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262
MYSQL_DATABASE: jwpwsofia
MYSQL_USER: jwpwsofia
@ -38,7 +40,6 @@ services:
networks:
- default
- infrastructure_default
mariadb_backup:
image: alpine:latest
volumes:
@ -51,7 +52,6 @@ services:
MYSQL_HOST: mariadb
# GOOGLE_DRIVE_FOLDER_ID: your_google_drive_folder_id
entrypoint: /bin/sh -c
networks:
- infrastructure_default
command: |

View File

@ -15,7 +15,7 @@ services:
stdin_open: true
mariadb:
hostname: mariadb
image: mariadb #bitnami/mariadb:latest #mariadb:10.4
image: mariadb #bitnami/mariadb:latest #mariadb:10.4
environment:
MARIADB_ROOT_PASSWORD: Pw62L$3332JH
MYSQL_ROOT_PASSWORD: Pw62L$3332JH
@ -24,4 +24,20 @@ services:
MYSQL_PASSWORD: o74x642Rc8
networks:
- default
- mysql_default
- mysql_default
postgres:
deploy:
replicas: 0
hostname: postgres
image: postgres
restart: always
# set shared memory limit when using docker-compose
shm_size: 128mb
# or set shared memory limit when deploy via swarm stack
#volumes:
# - type: tmpfs
# target: /dev/shm
# tmpfs:
# size: 134217728 # 128*2^20 bytes = 128Mb
environment:
POSTGRES_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262