From 00d708610db73cbd6f186fb2cdbc95a176da0428 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 13 Dec 2023 11:12:53 +0100 Subject: [PATCH] improve local dev + contribution guide --- CONTRIBUTION.md | 6 +++-- docker-compose.dev.yml | 8 +++++- docker/dev-ssu/Dockerfile | 2 +- .../s6-rc.d/horizon/dependencies.d/init-setup | 0 .../etc/s6-overlay/s6-rc.d/init-setup/type | 1 + .../etc/s6-overlay/s6-rc.d/init-setup/up | 4 +++ .../dependencies.d/init-setup | 0 .../s6-rc.d/user/contents.d/init-setup | 0 .../s6-rc.d/user/contents.d/scheduler-worker | 0 docker/prod-ssu/Dockerfile | 2 +- resources/views/auth/login.blade.php | 26 +++++++++---------- .../views/components/forms/input.blade.php | 11 ++++---- scripts/run | 13 ++++++---- 13 files changed, 45 insertions(+), 28 deletions(-) create mode 100644 docker/dev-ssu/etc/s6-overlay/s6-rc.d/horizon/dependencies.d/init-setup create mode 100644 docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/type create mode 100644 docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/up create mode 100644 docker/dev-ssu/etc/s6-overlay/s6-rc.d/scheduler-worker/dependencies.d/init-setup create mode 100644 docker/dev-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/init-setup create mode 100644 docker/dev-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/scheduler-worker diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index c11930538..8744da671 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -22,7 +22,10 @@ ## 3) Start & setup Coolify - Run `spin up` - You can notice that errors will be thrown. Don't worry. - If you see weird permission errors, especially on Mac, run `sudo spin up` instead. -- Run `./scripts/run setup:dev` - This will generate a secret key for you, delete any existing database layouts, migrate database to the new layout, and seed your database. +If you are running Coolify for the first time: +- Run `./scripts/run dev:init` - This will delete any existing database layouts, migrate database to the new layout, and seed your database. + +> If you see the login page with a 404 error, you forgot to run `./scripts/run dev:init`. ### 4) Start development You can login your Coolify instance at `localhost:8000` with `test@example.com` and `password`. @@ -31,7 +34,6 @@ ### 4) Start development Mails are caught by Mailpit: `localhost:8025` - ## New Service Contribution Check out the docs [here](https://coolify.io/docs/how-to-add-a-service). diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 87b4bb6b5..e789c3ba7 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -56,7 +56,7 @@ services: ports: - "${FORWARD_SOKETI_PORT:-6001}:6001" environment: - SOKETI_DEBUG: "true" + SOKETI_DEBUG: "false" SOKETI_DEFAULT_APP_ID: "${PUSHER_APP_ID:-coolify}" SOKETI_DEFAULT_APP_KEY: "${PUSHER_APP_KEY:-coolify}" SOKETI_DEFAULT_APP_SECRET: "${PUSHER_APP_SECRET:-coolify}" @@ -115,3 +115,9 @@ volumes: coolify-pg-data-dev: coolify-redis-data-dev: coolify-minio-data-dev: + +networks: + coolify: + name: coolify + driver: bridge + external: false diff --git a/docker/dev-ssu/Dockerfile b/docker/dev-ssu/Dockerfile index 58941b73f..df98985f4 100644 --- a/docker/dev-ssu/Dockerfile +++ b/docker/dev-ssu/Dockerfile @@ -2,7 +2,7 @@ FROM serversideup/php:8.2-fpm-nginx ARG TARGETPLATFORM # https://github.com/cloudflare/cloudflared/releases -ARG CLOUDFLARED_VERSION=2023.8.2 +ARG CLOUDFLARED_VERSION=2023.10.0 ARG POSTGRES_VERSION=15 RUN apt-get update diff --git a/docker/dev-ssu/etc/s6-overlay/s6-rc.d/horizon/dependencies.d/init-setup b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/horizon/dependencies.d/init-setup new file mode 100644 index 000000000..e69de29bb diff --git a/docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/type b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/type new file mode 100644 index 000000000..3d92b15f2 --- /dev/null +++ b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/up b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/up new file mode 100644 index 000000000..e5d89d959 --- /dev/null +++ b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/init-setup/up @@ -0,0 +1,4 @@ +#!/command/execlineb -P +foreground { composer -d /var/www/html/ install } +foreground { php /var/www/html/artisan key:generate } +foreground { php /var/www/html/artisan migrate --step } diff --git a/docker/dev-ssu/etc/s6-overlay/s6-rc.d/scheduler-worker/dependencies.d/init-setup b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/scheduler-worker/dependencies.d/init-setup new file mode 100644 index 000000000..e69de29bb diff --git a/docker/dev-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/init-setup b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/init-setup new file mode 100644 index 000000000..e69de29bb diff --git a/docker/dev-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/scheduler-worker b/docker/dev-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/scheduler-worker new file mode 100644 index 000000000..e69de29bb diff --git a/docker/prod-ssu/Dockerfile b/docker/prod-ssu/Dockerfile index dac8c56a9..79c0a839c 100644 --- a/docker/prod-ssu/Dockerfile +++ b/docker/prod-ssu/Dockerfile @@ -15,7 +15,7 @@ FROM serversideup/php:8.2-fpm-nginx ARG TARGETPLATFORM # https://github.com/cloudflare/cloudflared/releases -ARG CLOUDFLARED_VERSION=2023.8.2 +ARG CLOUDFLARED_VERSION=2023.10.0 ARG POSTGRES_VERSION=15 WORKDIR /var/www/html diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index b2111d561..ed288f9ee 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -24,20 +24,20 @@ class="text-xs text-center text-white normal-case bg-transparent border-none rou
@csrf @env('local') - + - - - {{ __('auth.forgot_password') }}? - - @else - - - - {{ __('auth.forgot_password') }}? - + + + {{ __('auth.forgot_password') }}? + + @else + + + + {{ __('auth.forgot_password') }}? + @endenv {{ __('auth.login') }} @if (!$is_registration_enabled) diff --git a/resources/views/components/forms/input.blade.php b/resources/views/components/forms/input.blade.php index 4e9fffef5..3e9c3a35d 100644 --- a/resources/views/components/forms/input.blade.php +++ b/resources/views/components/forms/input.blade.php @@ -22,7 +22,7 @@ class="absolute inset-y-0 right-0 flex items-center pr-2 cursor-pointer hover:te @endif - merge(['class' => $defaultClass . ' pl-10']) }} @required($required) + merge(['class' => $defaultClass . ' pl-10']) }} @required($required) wire:model={{ $id }} wire:dirty.class.remove='text-white' wire:dirty.class="input-warning" wire:loading.attr="disabled" type="{{ $type }}" @readonly($readonly) @disabled($disabled) id="{{ $id }}" name="{{ $name }}" placeholder="{{ $attributes->get('placeholder') }}" @@ -30,10 +30,11 @@ class="absolute inset-y-0 right-0 flex items-center pr-2 cursor-pointer hover:te @else - merge(['class' => $defaultClass]) }} @required($required) @readonly($readonly) - wire:model={{ $id }} wire:dirty.class.remove='text-white' wire:dirty.class="input-warning" - wire:loading.attr="disabled" type="{{ $type }}" @disabled($disabled) - id="{{ $id }}" name="{{ $name }}" placeholder="{{ $attributes->get('placeholder') }}"> + merge(['class' => $defaultClass]) }} @required($required) + @readonly($readonly) wire:model={{ $id }} wire:dirty.class.remove='text-white' + wire:dirty.class="input-warning" wire:loading.attr="disabled" type="{{ $type }}" + @disabled($disabled) id="{{ $id }}" name="{{ $name }}" + placeholder="{{ $attributes->get('placeholder') }}"> @endif @if (!$label && $helper) diff --git a/scripts/run b/scripts/run index 7362b1e5a..80ff17a16 100755 --- a/scripts/run +++ b/scripts/run @@ -20,12 +20,12 @@ function help { compgen -A function | cat -n } -function setup:dev { - docker exec coolify bash -c "composer install" - docker exec coolify bash -c "php artisan key:generate" - docker exec coolify bash -c "php artisan migrate:fresh --seed" +function dev:init { + docker exec coolify bash -c "php artisan migrate --seed" + echo "Need to update privileges on a few files. I need your password for that." sudo chmod -R o+rwx . } + function sync:v3 { if [ -z "$1" ]; then echo -e "Please provide a version.\n\nExample: run sync:v3 3.12.32" @@ -57,9 +57,12 @@ function schedule:run { function db { bash spin exec -u webuser coolify php artisan db } +function db:seed { + bash spin exec -u webuser coolify php artisan migrate --seed +} function db:migrate { - bash spin exec -u webuser coolify php artisan migrate + bash spin exec -u webuser coolify php artisan migrate --step } function db:reset {