rdev'i kullanma

Servisler

Veritabanları, önbellek, arama ve dosya depolama ortamınızın içinde, sitelerinizin yanında çalışır. rdev her servisi bir proje ona ilk ihtiyaç duyduğunda, seçtiğiniz sürümle kurar, çalışır durumda tutar ve bağlantı ayarlarını projenin .env dosyasına yazar.

Neler var

Servis Ne işe yarar Sürümler Varsayılan port
MySQL İlişkisel veritabanı 8.0, 8.4, 9.7 3306
MariaDB İlişkisel veritabanı 10.11, 11.4, 11.8, 12.3 3306
PostgreSQL İlişkisel veritabanı; -full derlemeleri pgvector, PostGIS, pgRouting ve (16'dan itibaren) TimescaleDB ekler 14, 15, 16, 17, 18 5432
MongoDB Doküman veritabanı 7.0, 8.0, 9.0 27017
Redis (Valkey) Önbellek, kuyruklar ve oturumlar 9.1 6379
Meilisearch Laravel Scout için tam metin arama 1 7700
Typesense Laravel Scout için tam metin arama 29, 30 8108
RustFS S3 uyumlu dosya depolama, bir sonraki portta web konsoluyla 1 9000
Mail yakalama Giden e-postaları yakalar, hiçbiri gerçek gelen kutularına ulaşmaz yerleşik
Dump sunucusu Kodunuzdan gelen debug dump'larını toplar yerleşik

Redis'i, Redis'in aynı protokolü konuşan açık kaynak çatalı Valkey sunar: Laravel'in redis sürücüleri ve phpredis değişmeden çalışır. Her servis yalnızca ortamınızın içinde, 127.0.0.1 üzerinde dinler; RustFS'inki gibi bir web konsoluna laptop bağlantınız üzerinden ulaşırsınız.

Bir projeye servis vermek

Sunucuda projeyi ve servisi belirtin:

rdev project service shop postgres

rdev servis çalışmıyorsa kurup başlatır, proje adıyla bir veritabanı (MySQL, MariaDB, PostgreSQL) ya da bucket (RustFS) açar ve bağlantı ayarlarını projenin .env dosyasına yazar. .env dosyası olmayan projelerde ayarlar ekrana yazılır. MongoDB veritabanını kodunuz ona ilk yazdığında oluşturur.

Panelde bir projenin ya da sunucunun yanındaki Servis ekle'yi seçin, servisi ve birden çok sürümü olanlarda Sürüm'ü belirleyin. AI ajanınız da MCP erişimiyle aynısını yapabilir; ondan "shop için bir PostgreSQL veritabanı" isteyin.

Yeni bir projeye servisleri aynı komutla verebilirsiniz:

rdev project add shop --git [email protected]:siz/shop.git --service mysql --service redis

.env dosyasına neler yazılır

Servis Ayarlar
MySQL, MariaDB, PostgreSQL DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME (parola yok: ona yalnızca ortamınız ulaşabilir)
MongoDB MONGODB_URI, MONGODB_DATABASE, mongodb/laravel-mongodb paketi için
Redis REDIS_HOST, REDIS_PORT
Meilisearch SCOUT_DRIVER=meilisearch, MEILISEARCH_HOST
Typesense SCOUT_DRIVER=typesense, TYPESENSE_HOST, TYPESENSE_PORT, TYPESENSE_PROTOCOL, TYPESENSE_API_KEY
RustFS AWS_ACCESS_KEY_ID=rdev, AWS_SECRET_ACCESS_KEY=rdev-secret, AWS_DEFAULT_REGION, AWS_BUCKET, AWS_ENDPOINT, AWS_URL, AWS_USE_PATH_STYLE_ENDPOINT=true

.env dosyasında bu anahtarların mevcut değerleri değiştirilir; diğer satırlar olduğu gibi kalır.

Sürüm seçmek

Servise @ ve bir sürüm ya da sürüm çizgisi ekleyin:

rdev project service shop [email protected]

Bu, en yeni MySQL 8.0'ı kurar ve ona geçer. Sürüm belirtmezseniz zaten kurulu olan ya da en yeni sürüm kullanılır. Kurabileceğiniz bütün sürümleri görmek için:

rdev service available

Her servisin aynı anda tek sürümü çalışır:

  • MySQL ve MariaDB her sürüm çizgisi (8.0, 8.4, 9.7…) için ayrı veri tutar. Daha yeni bir çizgiye geçiş eski çizginin verisinin bir kopyasıyla başlar, yeni sunucu bu kopyayı yükseltir; eski çizginin verisi olduğu gibi kalır, yani geri dönebilirsiniz. Daha eski bir çizgiye geçiş boş veriyle başlar, çünkü eski sunucu yeni veriyi okuyamaz.
  • PostgreSQL ve MongoDB her ana sürüm için ayrı veri tutar (PostgreSQL 14, 15…; MongoDB 7, 8, 9). Yeni bir ana sürüm boş başlar; verinizi pg_dump ya da mongodump ile taşıyın.
  • Meilisearch ve Typesense sürüm değişikliğinden sonra dizinlerini uygulamanızdan yeniden oluşturur (php artisan scout:import).

MySQL ve MariaDB ikisi de 3306 portunu kullanır; aynı anda birini çalıştırın ya da birini başka bir porta taşıyın: rdev service set-port mariadb 3307. Sürüm seçmek için rdev 0.2.0-beta.18 ya da sonrası gerekir.

PostgreSQL eklentileri

PostgreSQL'in -full derlemeleri pgvector (yapay zekâ özellikleri için vektör arama), PostGIS ve pgRouting (harita ve rota) ve 16'dan itibaren TimescaleDB (zaman serisi) içerir. Birini, rdev service available'ın listelediği tam sürümüyle seçin:

rdev project service shop [email protected]

Ardından eklentiyi veritabanınızda açın, örneğin bir migration'da:

CREATE EXTENSION IF NOT EXISTS vector;

postgis, pgrouting ve timescaledb için de aynısı geçerli. Derleme TimescaleDB içeriyorsa rdev onu kendiliğinden önceden yükler.

Servisleri yönetmek

Komut Ne yapar
rdev service available Kurabileceğiniz sürümleri listeler
rdev service start mysql / stop / restart Bir servisi başlatır, durdurur ya da yeniden başlatır
rdev service logs mysql Günlüğünün son satırlarını gösterir
rdev service set-port mysql 3307 Başka bir porta taşır (sonraki yeniden başlatmada)
rdev service set mysql max_connections 300 Bir yapılandırma seçeneği ayarlar (sonraki yeniden başlatmada; MySQL, MariaDB, PostgreSQL ve Redis)
rdev service change-version mysql 9.7.4 Başka bir sürüme geçer

Servisler ortamınızla birlikte başlar. Bir projeyi kaldırmak veritabanını hiçbir zaman silmez; artık gerekmediğinde kendiniz silin.

Takımlar ve yedekler

Team paketinde her üye ortamı sahibin servislerine, kendi özel servislerinin yanında rdev-team adıyla ulaşır (Takımlar).

Pro ve Team'deki gece veri yedeği bütün MySQL, MariaDB, PostgreSQL ve MongoDB veritabanlarını ve ~/Code klasörünüzü içerir, panelden geri yükler (Yedekler). MySQL ve MariaDB'den hangisi 3306 portunda çalışıyorsa o yedeklenir; MongoDB bütün veritabanlarıyla tek bir arşiv olarak. Arama dizinleri ve RustFS bucket'ları uygulamanızdan ve kendi kopyalarınızdan yeniden oluşturulur.

Listede olmayan bir servis

Başka bir şey çalıştırmak için bizi beklemeniz gerekmez:

  • Node.js, Python, Ruby ya da Go ile yazılmış bir servis proje olarak çalışır. rdev çalışma ortamını kurar, komutu başlatır, ona bir port verir ve durursa yeniden başlatır:

    rdev project add realtime --lang node --command "npx soketi start --port={port}"
    
  • Başka bir yazılım ev klasörünüze gider, örneğin indirilmiş bir binary ~/.local/bin içine, ve aynı şekilde bir projenin komutuyla başlar. Ev klasörünüz, ortamın rdev host update sırasında korunan kısmıdır; başka bir yere sudo apt ile kurulan her şey bir sonraki ortam güncellemesinde kaybolur.

  • Yukarıdaki servisler gibi desteklenmesini (sürümler, panel, .env ayarları ve yedekler) istiyorsanız servisi ve ne için kullandığınızı yazarak bize ulaşın. Birden çok müşterinin ihtiyaç duyduğu servisleri ekliyoruz ve size durumunu bildiriyoruz.

İlk iki yolu AI ajanınız sizin için kurabilir; ondan "shop projesi için Elasticsearch çalıştır" isteyin.