diff --git a/.gitea/workflows/deploy-dev.yml b/.gitea/workflows/deploy-dev.yml index a383f74..2c79bb0 100644 --- a/.gitea/workflows/deploy-dev.yml +++ b/.gitea/workflows/deploy-dev.yml @@ -64,8 +64,8 @@ jobs: docker compose down || true docker image prune -f docker network inspect traefik-public >/dev/null 2>&1 || docker network create traefik-public - export DOMAIN=dev.merchbay.app - export APP_URL=https://dev.merchbay.app + export DOMAIN=dev-admin.merchbay.app + export APP_URL=https://dev-admin.merchbay.app docker compose up -d sleep 10 docker compose exec -T app php artisan migrate --force @@ -74,7 +74,7 @@ jobs: docker compose exec -T app php artisan view:cache rm -f /tmp/merchbay_admin_dev.tar.gz /tmp/docker-compose.yml echo 'Development deployment completed successfully!' - echo 'Application available at: https://dev.merchbay.app' + echo 'Application available at: https://dev-admin.merchbay.app' " env: DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }} @@ -85,4 +85,4 @@ jobs: shell: sh run: | sleep 10 - curl -f https://dev.merchbay.app || exit 1 + curl -f https://dev-admin.merchbay.app || exit 1 diff --git a/DEPLOYMENT-SETUP.md b/DEPLOYMENT-SETUP.md index bdd52d7..49bd057 100644 --- a/DEPLOYMENT-SETUP.md +++ b/DEPLOYMENT-SETUP.md @@ -93,13 +93,13 @@ mkdir -p /var/www/merchbay_admin_dev cat > /var/www/merchbay_admin_dev/.env << 'EOF' APP_ENV=staging APP_DEBUG=false -APP_URL=https://dev.merchbay.app +APP_URL=https://dev-admin.merchbay.app DB_HOST=localhost DB_PORT=3306 DB_DATABASE=merchbay_dev DB_USERNAME=merchbay_user DB_PASSWORD=your_dev_password -DOMAIN=dev.merchbay.app +DOMAIN=dev-admin.merchbay.app EOF chmod 600 /var/www/merchbay_admin_dev/.env diff --git a/TRAEFIK-SSL-CONFIG.md b/TRAEFIK-SSL-CONFIG.md index 3459020..cd51dc4 100644 --- a/TRAEFIK-SSL-CONFIG.md +++ b/TRAEFIK-SSL-CONFIG.md @@ -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 ``` -## Development (dev.merchbay.app) - Automatic SSL +## Development (dev-admin.merchbay.app) - Automatic SSL 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` -- Domain: `dev.merchbay.app` +- Domain: `dev-admin.merchbay.app` - SSL: Let's Encrypt (automatic) - Certificate Resolver: `letsencrypt` ```yaml 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" ``` @@ -199,7 +199,7 @@ DEPLOY_PORT=22 ```bash # 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 ``` @@ -216,7 +216,7 @@ echo | openssl s_client -servername merchbay.app -connect merchbay.app:443 2>/de ### 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" 2. Visit https://merchbay.com @@ -235,7 +235,7 @@ ls -l /path/to/letsencrypt/acme.json # Should be: -rw------- (600) # Check DNS -dig dev.merchbay.app +short +dig dev-admin.merchbay.app +short # Should return your server IP ``` @@ -285,7 +285,7 @@ Before certificate expiration: ``` Type: A -Name: dev.merchbay.app +Name: dev-admin.merchbay.app Value: YOUR_SERVER_IP TTL: 3600 ``` diff --git a/docker-compose.portainer.dev.yml b/docker-compose.portainer.dev.yml index 09d14d5..1e9865a 100644 --- a/docker-compose.portainer.dev.yml +++ b/docker-compose.portainer.dev.yml @@ -12,7 +12,7 @@ services: environment: - APP_ENV=staging - APP_DEBUG=false - - APP_URL=https://dev.merchbay.app + - APP_URL=https://dev-admin.merchbay.app - DB_CONNECTION=mysql - DB_HOST=your-mysql-host - DB_PORT=3306 @@ -24,13 +24,13 @@ services: - app_uploads_dev:/var/www/html/public/uploads labels: - "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.tls=true" - "traefik.http.routers.merchbay-admin-dev.tls.certresolver=letsencrypt" - "traefik.http.services.merchbay-admin-dev.loadbalancer.server.port=80" # 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.middlewares=https-redirect" - "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https" diff --git a/setup-server-env.sh b/setup-server-env.sh index 0196fca..3ea7d17 100755 --- a/setup-server-env.sh +++ b/setup-server-env.sh @@ -59,8 +59,8 @@ case $env_choice in 2) ENV_TYPE="development" DEPLOY_DIR="/var/www/merchbay_admin_dev" - DEFAULT_DOMAIN="dev.merchbay.app" - DEFAULT_APP_URL="https://dev.merchbay.app" + DEFAULT_DOMAIN="dev-admin.merchbay.app" + DEFAULT_APP_URL="https://dev-admin.merchbay.app" DEFAULT_APP_ENV="staging" DEFAULT_DB_NAME="merchbay_dev" ;;