mirror of
https://github.com/chevereto/docker.git
synced 2025-12-16 13:09:47 +01:00
deploy
This commit is contained in:
16
Makefile
16
Makefile
@@ -1,6 +1,7 @@
|
||||
#!make
|
||||
SYSTEM ?= ubuntu/22.04
|
||||
ENV_FILE = ./.env
|
||||
DOMAIN ?= chevereto.cloud
|
||||
NAMESPACE ?= chevereto
|
||||
NAMESPACE_FILE = ./namespace/${NAMESPACE}
|
||||
NAMESPACE_FILE_EXISTS = false
|
||||
@@ -75,8 +76,8 @@ feedback--compose: feedback--image
|
||||
@echo "🐋 ${COMPOSE_FILE}"
|
||||
|
||||
feedback--url:
|
||||
@echo "🔌 ${PORT}"
|
||||
@echo "${URL} @URL"
|
||||
@echo "Protocol ${PROTOCOL} (:${PORT})"
|
||||
@echo "@URL ${URL}"
|
||||
|
||||
feedback--image:
|
||||
@echo "📦 ${IMAGE} (BASE ${IMAGE_NAME})"
|
||||
@@ -209,6 +210,17 @@ destroy: feedback feedback--compose cloudflare--delete
|
||||
${DOCKER_COMPOSE} down --volumes
|
||||
@rm namespace/${NAMESPACE}
|
||||
|
||||
# Provisioning
|
||||
|
||||
provision: feedback
|
||||
make namespace HOSTNAME="${NAMESPACE}.${DOMAIN}"
|
||||
make spawn NAMESPACE=${NAMESPACE}
|
||||
|
||||
install: feedback
|
||||
docker exec -it --user ${DOCKER_USER} \
|
||||
${CONTAINER_BASENAME}_${SERVICE} \
|
||||
app/bin/legacy -C install -u "${ADMIN_USER}" -e "${ADMIN_EMAIL}" -x "${ADMIN_PASSWORD}"
|
||||
|
||||
# nginx-proxy
|
||||
|
||||
proxy:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version: "3.8"
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
database:
|
||||
@@ -9,6 +9,10 @@ services:
|
||||
volumes:
|
||||
- database:/var/lib/mysql
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password
|
||||
MYSQL_DATABASE: chevereto
|
||||
@@ -24,6 +28,9 @@ services:
|
||||
volumes:
|
||||
- storage:/var/www/html/images/
|
||||
restart: always
|
||||
depends_on:
|
||||
database:
|
||||
condition: service_healthy
|
||||
expose:
|
||||
- 80
|
||||
- 443
|
||||
|
||||
23
deploy.sh
Executable file
23
deploy.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
NAMESPACE="$1"
|
||||
ADMIN_USER="${ADMIN_USER:-admin}"
|
||||
ADMIN_EMAIL="$2"
|
||||
ADMIN_PASSWORD="$(openssl rand -base64 8)"
|
||||
|
||||
NAMESPACE=${NAMESPACE} make provision &&
|
||||
NAMESPACE=${NAMESPACE} \
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD} \
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL} \
|
||||
ADMIN_USER=${ADMIN_USER} make install
|
||||
|
||||
echo "🚀 Deployment complete!"
|
||||
|
||||
NAMESPACE=${NAMESPACE} make feedback--url
|
||||
|
||||
echo "Login details"
|
||||
echo "--"
|
||||
echo "Email: ${ADMIN_EMAIL}"
|
||||
echo "Password: ${ADMIN_PASSWORD}"
|
||||
9
dev.yml
9
dev.yml
@@ -1,4 +1,4 @@
|
||||
version: "3.8"
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
database:
|
||||
@@ -11,6 +11,10 @@ services:
|
||||
ports:
|
||||
- ${DB_PORT}:3306
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password
|
||||
MYSQL_DATABASE: chevereto
|
||||
@@ -32,6 +36,9 @@ services:
|
||||
- ${HTTP_PORT}:80
|
||||
- ${HTTPS_PORT}:443
|
||||
restart: always
|
||||
depends_on:
|
||||
database:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
CHEVERETO_ENVIRONMENT: dev
|
||||
CHEVERETO_DB_HOST: database
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version: "3.8"
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
database:
|
||||
@@ -9,6 +9,10 @@ services:
|
||||
volumes:
|
||||
- database:/var/lib/mysql
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password
|
||||
MYSQL_DATABASE: chevereto
|
||||
@@ -26,6 +30,9 @@ services:
|
||||
- ${HTTP_PORT}:80
|
||||
- ${HTTPS_PORT}:443
|
||||
restart: always
|
||||
depends_on:
|
||||
database:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
VIRTUAL_HOST: ${HOSTNAME}
|
||||
LETSENCRYPT_HOST: ${HOSTNAME}
|
||||
|
||||
@@ -66,7 +66,7 @@ docker run -d \
|
||||
Create your own `docker-compose.yml` at your project folder.
|
||||
|
||||
```yml
|
||||
version: "3.8"
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
database:
|
||||
@@ -76,6 +76,10 @@ services:
|
||||
volumes:
|
||||
- database:/var/lib/mysql
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password
|
||||
MYSQL_DATABASE: chevereto
|
||||
@@ -89,6 +93,9 @@ services:
|
||||
volumes:
|
||||
- storage:/var/www/html/images/
|
||||
restart: always
|
||||
depends_on:
|
||||
database:
|
||||
condition: service_healthy
|
||||
expose:
|
||||
- 80
|
||||
environment:
|
||||
|
||||
Reference in New Issue
Block a user