diff --git a/.env.example b/.env.example index fa6643f26..a28a1c17a 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,7 @@ USERID= GROUPID= ############################################################################################################ -APP_NAME=Laravel +APP_NAME=Coolify APP_SERVICE=php APP_ENV=local APP_KEY= diff --git a/.github/workflows/production-build.yml b/.github/workflows/production-build.yml new file mode 100644 index 000000000..629b54bea --- /dev/null +++ b/.github/workflows/production-build.yml @@ -0,0 +1,29 @@ +name: Production Build (v4) + +on: + push: + branches: ["v4"] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build imaged and push to registry + uses: docker/build-push-action@v3 + with: + context: . + file: docker/prod-ssu/Dockerfile + platforms: linux/amd64 + push: true + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:v4.0.0-nightly.0 diff --git a/app/Providers/FortifyServiceProvider.php b/app/Providers/FortifyServiceProvider.php index b65eb2a00..5969ed20c 100644 --- a/app/Providers/FortifyServiceProvider.php +++ b/app/Providers/FortifyServiceProvider.php @@ -33,7 +33,7 @@ class FortifyServiceProvider extends ServiceProvider Fortify::registerView(function () { $settings = InstanceSettings::find(0); if (!$settings->is_registration_enabled) { - abort(403); + return redirect()->route('login'); } return view('auth.register'); }); diff --git a/database/seeders/ProductionSeeder.php b/database/seeders/ProductionSeeder.php index b97448c20..298d8cbf5 100644 --- a/database/seeders/ProductionSeeder.php +++ b/database/seeders/ProductionSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\InstanceSettings; use App\Models\PrivateKey; use App\Models\Project; use App\Models\Server; @@ -13,6 +14,21 @@ class ProductionSeeder extends Seeder { public function run(): void { + if (InstanceSettings::find(0) == null) { + InstanceSettings::create([ + 'id' => 0 + ]); + } + + // Add first Team if it doesn't exist + if (Team::find(0) == null) { + Team::create([ + 'id' => 0, + 'name' => "Root's Team", + 'personal_team' => true, + ]); + } + // Save SSH Keys for the Coolify Host $coolify_key_name = "id.root@host.docker.internal"; $coolify_key = Storage::disk('local')->get("ssh-keys/{$coolify_key_name}"); @@ -27,17 +43,11 @@ class ProductionSeeder extends Seeder 'name' => 'localhost\'s key', 'description' => 'The private key for the Coolify host machine (localhost).', 'private_key' => $coolify_key, + 'team_id' => 0, ]); } - // Add first Team if it doesn't exist - if (Team::find(0) == null) { - Team::create([ - 'id' => 0, - 'name' => "Root's Team", - 'personal_team' => true, - ]); - } + // Add Coolify host (localhost) as Server if it doesn't exist if (Server::find(0) == null) { Server::create([ diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 08bc6f6e4..5dcb9992f 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -17,7 +17,6 @@ services: - DB_PASSWORD - QUEUE_CONNECTION - SSL_MODE=off - - AUTORUN_LARAVEL_MIGRATION=true ports: - "${APP_PORT:-8000}:80" depends_on: diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/type b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/type @@ -0,0 +1 @@ +oneshot diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/up b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/up new file mode 100644 index 000000000..250d5d8b1 --- /dev/null +++ b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/up @@ -0,0 +1,2 @@ +#!/command/execlineb -P +php /var/www/html/artisan migrate --force --isolated diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/dependencies.d/db-migration b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/dependencies.d/db-migration new file mode 100644 index 000000000..e69de29bb diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/type b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/type @@ -0,0 +1 @@ +oneshot diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/up b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/up new file mode 100644 index 000000000..44645c11f --- /dev/null +++ b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/init-seeder/up @@ -0,0 +1,2 @@ +#!/command/execlineb -P +php /var/www/html/artisan db:seed --class ProductionSeeder --force diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/db-migration b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/db-migration new file mode 100644 index 000000000..e69de29bb diff --git a/docker/prod-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/init-seeder b/docker/prod-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/init-seeder new file mode 100644 index 000000000..e69de29bb diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 698501518..bbd76134c 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -1,10 +1,17 @@ +
v{{ config('coolify.version') }}
+ Login + @if ($is_registration_enabled) + Register + @else + Registration disabled + @endif
@csrf - +
@if ($errors->any()) diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index f30506f23..a2494ff3a 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,4 +1,7 @@ +
v{{ config('coolify.version') }}
+ Login + Register
@csrf diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php index 0cbfd94b7..0dd70fc61 100644 --- a/resources/views/components/layout.blade.php +++ b/resources/views/components/layout.blade.php @@ -16,7 +16,9 @@ - + @auth + + @endauth
{{ $slot }}
diff --git a/resources/views/components/navbar.blade.php b/resources/views/components/navbar.blade.php index 1618f1326..dfceb777e 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -1,13 +1,5 @@