dev #2

Merged
webmaster merged 34 commits from dev into main 2025-12-20 20:04:57 +00:00
5 changed files with 18 additions and 18 deletions
Showing only changes of commit 63c5c50578 - Show all commits

View File

@@ -64,8 +64,8 @@ jobs:
docker compose down || true docker compose down || true
docker image prune -f docker image prune -f
docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public
export DOMAIN=dev.merchbay.app export DOMAIN=dev-admin.merchbay.app
export APP_URL=https://dev.merchbay.app export APP_URL=https://dev-admin.merchbay.app
docker compose up -d docker compose up -d
sleep 10 sleep 10
docker compose exec -T app php artisan migrate --force docker compose exec -T app php artisan migrate --force
@@ -74,7 +74,7 @@ jobs:
docker compose exec -T app php artisan view:cache docker compose exec -T app php artisan view:cache
rm -f /tmp/merchbay_admin_dev.tar.gz /tmp/docker-compose.yml rm -f /tmp/merchbay_admin_dev.tar.gz /tmp/docker-compose.yml
echo 'Development deployment completed successfully!' echo 'Development deployment completed successfully!'
echo 'Application available at: https://dev.merchbay.app' echo 'Application available at: https://dev-admin.merchbay.app'
" "
env: env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }} DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
@@ -85,4 +85,4 @@ jobs:
shell: sh shell: sh
run: | run: |
sleep 10 sleep 10
curl -f https://dev.merchbay.app || exit 1 curl -f https://dev-admin.merchbay.app || exit 1

View File

@@ -93,13 +93,13 @@ mkdir -p /var/www/merchbay_admin_dev
cat > /var/www/merchbay_admin_dev/.env << 'EOF' cat > /var/www/merchbay_admin_dev/.env << 'EOF'
APP_ENV=staging APP_ENV=staging
APP_DEBUG=false APP_DEBUG=false
APP_URL=https://dev.merchbay.app APP_URL=https://dev-admin.merchbay.app
DB_HOST=localhost DB_HOST=localhost
DB_PORT=3306 DB_PORT=3306
DB_DATABASE=merchbay_dev DB_DATABASE=merchbay_dev
DB_USERNAME=merchbay_user DB_USERNAME=merchbay_user
DB_PASSWORD=your_dev_password DB_PASSWORD=your_dev_password
DOMAIN=dev.merchbay.app DOMAIN=dev-admin.merchbay.app
EOF EOF
chmod 600 /var/www/merchbay_admin_dev/.env chmod 600 /var/www/merchbay_admin_dev/.env

View File

@@ -11,7 +11,7 @@ All deployments use the external network: `traefik-public`
docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public
``` ```
## Development (dev.merchbay.app) - Automatic SSL ## Development (dev-admin.merchbay.app) - Automatic SSL
Development uses Let's Encrypt for automatic SSL certificate generation. Development uses Let's Encrypt for automatic SSL certificate generation.
@@ -133,13 +133,13 @@ docker compose logs traefik | grep -i cert
File: `docker-compose.portainer.dev.yml` File: `docker-compose.portainer.dev.yml`
- Domain: `dev.merchbay.app` - Domain: `dev-admin.merchbay.app`
- SSL: Let's Encrypt (automatic) - SSL: Let's Encrypt (automatic)
- Certificate Resolver: `letsencrypt` - Certificate Resolver: `letsencrypt`
```yaml ```yaml
labels: labels:
- "traefik.http.routers.merchbay-admin-dev.rule=Host(`dev.merchbay.app`)" - "traefik.http.routers.merchbay-admin-dev.rule=Host(`dev-admin.merchbay.app`)"
- "traefik.http.routers.merchbay-admin-dev.tls.certresolver=letsencrypt" - "traefik.http.routers.merchbay-admin-dev.tls.certresolver=letsencrypt"
``` ```
@@ -199,7 +199,7 @@ DEPLOY_PORT=22
```bash ```bash
# Check certificate issuer (should be Let's Encrypt) # Check certificate issuer (should be Let's Encrypt)
echo | openssl s_client -servername dev.merchbay.app -connect dev.merchbay.app:443 2>/dev/null | openssl x509 -noout -issuer echo | openssl s_client -servername dev-admin.merchbay.app -connect dev-admin.merchbay.app:443 2>/dev/null | openssl x509 -noout -issuer
# Should show: issuer=C = US, O = Let's Encrypt, CN = R3 # Should show: issuer=C = US, O = Let's Encrypt, CN = R3
``` ```
@@ -216,7 +216,7 @@ echo | openssl s_client -servername merchbay.app -connect merchbay.app:443 2>/de
### Verify in Browser ### Verify in Browser
1. Visit https://dev.merchbay.app 1. Visit https://dev-admin.merchbay.app
- Certificate should be issued by "Let's Encrypt Authority X3" - Certificate should be issued by "Let's Encrypt Authority X3"
2. Visit https://merchbay.com 2. Visit https://merchbay.com
@@ -235,7 +235,7 @@ ls -l /path/to/letsencrypt/acme.json
# Should be: -rw------- (600) # Should be: -rw------- (600)
# Check DNS # Check DNS
dig dev.merchbay.app +short dig dev-admin.merchbay.app +short
# Should return your server IP # Should return your server IP
``` ```
@@ -285,7 +285,7 @@ Before certificate expiration:
``` ```
Type: A Type: A
Name: dev.merchbay.app Name: dev-admin.merchbay.app
Value: YOUR_SERVER_IP Value: YOUR_SERVER_IP
TTL: 3600 TTL: 3600
``` ```

View File

@@ -12,7 +12,7 @@ services:
environment: environment:
- APP_ENV=staging - APP_ENV=staging
- APP_DEBUG=false - APP_DEBUG=false
- APP_URL=https://dev.merchbay.app - APP_URL=https://dev-admin.merchbay.app
- DB_CONNECTION=mysql - DB_CONNECTION=mysql
- DB_HOST=your-mysql-host - DB_HOST=your-mysql-host
- DB_PORT=3306 - DB_PORT=3306
@@ -24,13 +24,13 @@ services:
- app_uploads_dev:/var/www/html/public/uploads - app_uploads_dev:/var/www/html/public/uploads
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.merchbay-admin-dev.rule=Host(`dev.merchbay.app`)" - "traefik.http.routers.merchbay-admin-dev.rule=Host(`dev-admin.merchbay.app`)"
- "traefik.http.routers.merchbay-admin-dev.entrypoints=websecure" - "traefik.http.routers.merchbay-admin-dev.entrypoints=websecure"
- "traefik.http.routers.merchbay-admin-dev.tls=true" - "traefik.http.routers.merchbay-admin-dev.tls=true"
- "traefik.http.routers.merchbay-admin-dev.tls.certresolver=letsencrypt" - "traefik.http.routers.merchbay-admin-dev.tls.certresolver=letsencrypt"
- "traefik.http.services.merchbay-admin-dev.loadbalancer.server.port=80" - "traefik.http.services.merchbay-admin-dev.loadbalancer.server.port=80"
# HTTP to HTTPS redirect # HTTP to HTTPS redirect
- "traefik.http.routers.merchbay-admin-dev-http.rule=Host(`dev.merchbay.app`)" - "traefik.http.routers.merchbay-admin-dev-http.rule=Host(`dev-admin.merchbay.app`)"
- "traefik.http.routers.merchbay-admin-dev-http.entrypoints=web" - "traefik.http.routers.merchbay-admin-dev-http.entrypoints=web"
- "traefik.http.routers.merchbay-admin-dev-http.middlewares=https-redirect" - "traefik.http.routers.merchbay-admin-dev-http.middlewares=https-redirect"
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"

View File

@@ -59,8 +59,8 @@ case $env_choice in
2) 2)
ENV_TYPE="development" ENV_TYPE="development"
DEPLOY_DIR="/var/www/merchbay_admin_dev" DEPLOY_DIR="/var/www/merchbay_admin_dev"
DEFAULT_DOMAIN="dev.merchbay.app" DEFAULT_DOMAIN="dev-admin.merchbay.app"
DEFAULT_APP_URL="https://dev.merchbay.app" DEFAULT_APP_URL="https://dev-admin.merchbay.app"
DEFAULT_APP_ENV="staging" DEFAULT_APP_ENV="staging"
DEFAULT_DB_NAME="merchbay_dev" DEFAULT_DB_NAME="merchbay_dev"
;; ;;