Blog

  • Merhaba dünya!

    WordPress’e hoş geldiniz. Bu sizin ilk yazınız. Bu yazıyı düzenleyin ya da silin. Sonra yazmaya başlayın!

  • Grimmory ve Shelfmark ile eKitaplarınızı arşivleyin, bulun

    Grimmory ve Shelfmark, self-hosted dijital kütüphane ekosisteminde birbirini tamamlayan iki güçlü GitHub projesidir. Grimmory, kullanıcıların e-kitap, PDF, çizgi roman ve sesli kitap koleksiyonlarını organize edebileceği, okuyabileceği ve cihazlar arasında senkronize edebileceği bir dijital kütüphane çözümüdür. Dahili okuyucu, akıllı raf sistemi ve otomatik metadata çekme özellikleri sayesinde modern bir Calibre alternatifi olarak konumlanır. Kobo marka eokuyucunuzu otomatik senkronizasyon yapabilirsiniz.

    Shelfmark ise doğrudan bir kütüphane yöneticisi değil, farklı kaynaklardan kitap ve sesli kitap aramak, indirmek ve kullanıcı taleplerini yönetmek için tasarlanmış bir merkez (hub) görevi görür. Torrent, usenet ve web kaynaklarını desteklemesi, çok kullanıcılı yapı ve talep sistemi ile özellikle paylaşımlı ortamlarda güçlü bir çözüm sunar.

    Bu iki proje birlikte kullanıldığında güçlü bir iş akışı ortaya çıkar: Shelfmark içerikleri bulup indirirken, Grimmory bu içerikleri düzenler, saklar ve kullanıcıya okuma deneyimi sunar. Bu yapı, self-hosted bir “Netflix for books” deneyimi oluşturmak isteyen kullanıcılar için oldukça etkili bir çözümdür.

    Sanal makina da kurulum için önce aşağıdaki komutlar ile gerekli dizinleri açalım

    BASH
    mkdir -p /home/firat/grimmory/db
    mkdir -p /home/firat/grimmory/data
    mkdir -p /home/firat/grimmory/books
    mkdir -p /home/firat/grimmory/bookdrop
    mkdir -p /home/firat/grimmory/shelfmark/config

    Dizinler açıldıktan sonra bazen Shelfmark gerekli izin ve tetkiler olmadığı için saçmalayabiliyor. o yüzden aşağıdaki satılar ile gerekli yetkileri verelim

    BASH
    chown -R 1000:1000 /home/firat/grimmory
    chmod -R 775 /home/firat/grimmory

    herşey tamam şimdi sadece aşağıdaki docker compose kodları kullanarak portainerde bir stack oluşturalım. Gerekli dizin şifre gibi değişiklikleri kendinize göre uyarlamayı da unutmayın

    YAMLbook.yaml
    version: "3.8"
    
    services:
      mariadb:
        image: lscr.io/linuxserver/mariadb:11.4.8
        environment:
          PUID: 1000
          PGID: 1000
          TZ: Europe/Istanbul
          MYSQL_ROOT_PASSWORD: cok_guclu_bir_root_sifresi
          MYSQL_DATABASE: grimmory_db
          MYSQL_USER: grimmory_user
          MYSQL_PASSWORD: cok_guclu_bir_kullanici_sifresi
        volumes:
          - /home/firat/grimmory/db:/config:rw
        healthcheck:
          test: ["CMD", "mariadb-admin", "ping", "-h", "localhost"]
          interval: 5s
          timeout: 5s
          retries: 20
          start_period: 60s
        restart: unless-stopped
    
      grimmory:
        image: ghcr.io/grimmory-tools/grimmory:latest
        environment:
          USER_ID: 1000
          GROUP_ID: 1000
          TZ: Europe/Istanbul
          DATABASE_URL: jdbc:mariadb://mariadb:3306/grimmory_db
          DATABASE_USERNAME: grimmory_user
          DATABASE_PASSWORD: cok_guclu_bir_kullanici_sifresi
          SWAGGER_ENABLED: "false"
          FORCE_DISABLE_OIDC: "false"
        depends_on:
          mariadb:
            condition: service_healthy
        ports:
          - "6060:6060"
        volumes:
          - /home/firat/grimmory/data:/app/data:rw
          - /home/firat/grimmory/books:/books:rw
          - /home/firat/grimmory/bookdrop:/bookdrop:rw
        healthcheck:
          test: ["CMD-SHELL", "wget -q -O - http://localhost:6060/api/v1/healthcheck || exit 1"]
          interval: 60s
          timeout: 10s
          retries: 5
          start_period: 60s
        restart: unless-stopped
    
      shelfmark:
        image: ghcr.io/calibrain/shelfmark:latest
        ports:
          - "8137:8137"
        volumes:
          - /home/firat/grimmory/shelfmark/config:/config:rw
          - /home/firat/grimmory/books:/books:rw
          - /home/firat/grimmory/bookdrop:/bookdrop:rw
        environment:
          PUID: 1000
          PGID: 1000
          TZ: Europe/Istanbul
          INGEST_DIR: /bookdrop
          FLASK_PORT: 8137
        tmpfs:
          - /tmp
        restart: unless-stopped

    Ve Deploy yaparak kurulumu bitirebilirsiniz.

    Grimmory için http://IPADRESINIZ:6060 adresine girerek kurulumu başlatatabilirsiniz.

    Shelfmark için http://IPADRESINIZ:8137 adresi ile giriş yapabilirsiniz.

  • Yavaş WordPress’e Son! Synology NAS’ta Docker ve Redis ile Performansı Patlatın!

    Docker yardımı ile Synology NAS’a wordpress kuracağız, üstelik redis cache ile hızına güç katacağız.

    Önce Docker dizini altında wordpress adında bir dizin açıyor ve içerisine db_data, redis_data ve html dizinlerini oluşturuyoruz. Ana dizine uploads.ini adında bir dosya oluşturup kopyalıyoruz.

    INIuploads.ini
    file_uploads = On
    memory_limit = 512M
    upload_max_filesize = 256M 
    post_max_size = 280M      ; upload_max_filesize'dan biraz büyük
    max_execution_time = 300
    max_input_time = 300
    max_input_vars = 3000     ; Karmaşık temalar ve eklentiler için eklend

    Bu dosya sayesinde php.ini ayarlarını basitçe yapmış olacağız. devam edelim ve Container Manager açıp yeni bir proje oluşturalım. Ben projenin adına wordpress yazdım.

    Örnek docker compose dosyası aşağıda kendize göre düzenleyip kaynak bölümüne yapıştırıp ileri ye tıklayıp bitirin

    YAMLwordpress.yaml
    version: '3.8'
    
    services: 
      db:
        image: mariadb:latest
        container_name: wp_db
        restart: unless-stopped
        command: --default-authentication-plugin=mysql_native_password
        volumes:
          - /volume1/docker/wordpress/db_data:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: rootpass
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpress
          MYSQL_PASSWORD: wordpresspass
        networks:
          - wp-net
    
      redis:
        image: redis:latest
        container_name: wp_redis
        restart: unless-stopped
        volumes:
          - /volume1/docker/wordpress/redis_data:/data
        networks:
          - wp-net
    
      wordpress:
        image: wordpress:latest
        container_name: wp_app
        restart: unless-stopped
        depends_on:
          - db
          - redis
        ports:
          # Synology IP'nizden 8095 portu ile erişirsiniz.
          - "8095:80"
        volumes:
          # WordPress dosyalarınız (temalar, eklentiler) bu klasörde olacak
          - /volume1/docker/wordpress/html:/var/www/html
          # Özel PHP ayarlarımızı içeri bağlıyoruz
          - /volume1/docker/wordpress/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
        environment:
          WORDPRESS_DB_HOST: db:3306 # 'db' servis adını kullanıyoruz
          WORDPRESS_DB_USER: wordpress
          WORDPRESS_DB_PASSWORD: wordpresspass
          WORDPRESS_DB_NAME: wordpress
          WORDPRESS_TABLE_PREFIX: wp_
          # Redis bağlantısı için
          WORDPRESS_REDIS_HOST: redis
          WORDPRESS_REDIS_PORT: 6379
          # --- REST API Sorunu ÇÖZÜMÜ ---
          # !!! Buraya Synology NAS'ınızın IP'sini ve portunu YAZMALISINIZ !!!
          WORDPRESS_SITEURL: http://192.168.1.53:8095
          WORDPRESS_HOME:  http://w.kpl.pw
        networks:
          - wp-net
    
      phpmyadmin:
        image: phpmyadmin:latest
        container_name: wp_pma 
        restart: unless-stopped
        depends_on:
          - db
        ports:
          # PHPMyAdmin'e 8096 portu ile erişirsiniz
          - "8096:80"
        environment:
          PMA_HOST: db # 'db' servis adını kullanıyoruz
          PMA_PORT: 3306
          MYSQL_ROOT_PASSWORD: rootpass
        networks:
          - wp-net
    
    # Servislerin birbirleriyle konuşacağı özel ağı tanımlıyoruz
    networks:
      wp-net:
        driver: bridge
    
    # Verilerin saklanacağı klasörleri tanımlıyoruz
    volumes:
      db_data:
      redis_data:
      wordpress

    şimdi redis ayarlarını yapalım. html dizini içerisinde wp-config.php dosyasını bulun ve aşağıdaki kodları /* That’s all, stop editing! Happy publishing. satırından önceye ekleyin.ekledikten sonra dosyayı kaydetmeyi unutmayın.

    INI
    define( 'WP_REDIS_HOST', 'redis' );
    define( 'WP_REDIS_PORT', 6379 );

    kullandığınız web tarayıcısına http://NASIP:8095 adresini girerek wordpress kurulumunu başlatabilirsiniz.

    şimdi herşey tamam ve belirlediğimiz kullanıcı adı ve şifre ile giriş yapalım

    Redis eklentisini yüklemek için eklentilere girin, arama bölümüne Redis yazıp eklentiyi görene kadar bekleyin ardından eklentiyi kurup etkinleştirin.

    etkinleştirdikten sonra Ayarların altında Redis e girin. herşey tamam sadece enable yaparak Redisimiz aktif olacak

    sorun yok ve redis çalışıyor, isterseniz wp super cache eklentisinide kurup sorun yaşamadan kullanabilirsiniz. şimdi site sağlığına bakalım.

    Ve herşey yolunda bir domain atayıp SSL verebilir ve modemden port açıp rahat bir şekilde kullanabilirsiniz.

    Sıkça Sorulan Sorular





     

    Synology NAS’ta Docker ile WordPress ve Redis Kurulumu Sıkça Sorulan Sorular

    Bu rehberin Synology NAS üzerinde WordPress kurulumu için temel amacı nedir?

    Bu rehber, Synology NAS cihazınızda Docker kullanarak hızlı ve performanslı bir WordPress sitesi kurmayı amaçlamaktadır. Kurulum, Redis cache entegrasyonu ile sitenizin hızını önemli ölçüde artırmayı, MariaDB veritabanı kullanmayı ve phpMyAdmin ile veritabanı yönetimini kolaylaştırmayı hedefler.

    Hız ve performans için Redis cache neden kullanılıyor?

    Redis, WordPress sitenizin veritabanı sorgularını ve sık erişilen içerikleri önbelleğe alarak sitenin yüklenme hızını ve genel performansını önemli ölçüde artırır. Bu rehberde Redis, Docker konteyneri olarak entegre edilmiştir ve WordPress ile sorunsuz bir şekilde çalışacak şekilde yapılandırılmıştır.

    `uploads.ini` dosyası ne işe yarar ve içeriği nedir?

    `uploads.ini` dosyası, WordPress uygulamanızın PHP ayarlarını kolayca yapılandırmanızı sağlar. Özellikle dosya yükleme limitleri (`upload_max_filesize`, `post_max_size`), bellek kullanımı (`memory_limit`), maksimum yürütme ve girdi süreleri (`max_execution_time`, `max_input_time`) gibi kritik PHP direktiflerini içerir. Bu sayede büyük dosyaların yüklenmesi veya karmaşık işlemlerin sorunsuz çalışması sağlanır.

    Docker Compose dosyasında hangi bilgileri kendi Synology NAS’ıma göre düzenlemeliyim?

    Docker Compose dosyasında kendi ortamınıza özel olarak düzenlemeniz gereken başlıca alanlar şunlardır:

    • Veritabanı Kimlik Bilgileri: `db` servisi altındaki `MYSQL_ROOT_PASSWORD`, `MYSQL_DATABASE`, `MYSQL_USER`, `MYSQL_PASSWORD` değerleri.
    • WordPress Site URL’si: `wordpress` servisi altındaki `WORDPRESS_SITEURL` ve `WORDPRESS_HOME` değişkenleri altına Synology NAS’ınızın IP adresini ve WordPress için belirlediğiniz portu (örneğin, `http://192.168.1.53:8095` gibi) yazmalısınız. Bu, özellikle REST API sorunlarının önüne geçmek için önemlidir.
    • Volume Yolları: `/volume1/docker/wordpress/…` şeklindeki volume yollarını kendi Synology NAS’ınızdaki Docker dizininize ve klasör yapınıza göre ayarlamanız gerekebilir.

    Kurulum tamamlandıktan sonra WordPress ve phpMyAdmin’e nasıl erişebilirim?

    Kurulumu başarıyla tamamladıktan sonra, WordPress sitenize Synology NAS’ınızın IP adresi ve Docker Compose dosyasında belirlenen port üzerinden erişebilirsiniz. Örnek olarak, `http://[Synology_IP_Adresi]:8095` adresinden WordPress’e ulaşabilirsiniz. phpMyAdmin ise `http://[Synology_IP_Adresi]:8096` portu üzerinden erişilebilir ve veritabanı yönetiminiz için kullanılabilir.

     

     

     

  • Stirling PDF Kurulumu: Synology NAS’ı Güçlü Bir PDF Merkezine Dönüştürün (Docker Rehberi)

    Evde ya da işte sık sık PDF dosyalarıyla uğraşıyorsan, Stirling PDF tam sana göre bir araç. Üstelik tamamen self-hosted çalıştığı için gizlilik konusunda içinin rahat olacağı bir sistem. Ben de kendi Synology NAS cihazıma kurarak test ettim — gerçekten “PDF konusunda İsviçre çakısı” diyebilirim. 😊

    An itibari ile 2.0.1 versionu yayınlandı. Kesinlikle kurmanızı tavsiye ederim. Aynı zamanda windows için app de yayınlandı ve bu uygulama sayesinde varsayılan PDFlerinizi açabilir ve düzenleyebilirsiniz. Ücretsiz 5 kullanıcı lisansına sahip olacaksınız.

    Stirling PDF, açık kaynaklı bir PDF düzenleme platformu. Tarayıcı üzerinden erişiyorsun, yani ekstra bir yazılım kurmana gerek yok.
    PDF birleştirme, sayfa silme, döndürme, sıkıştırma, filigran ekleme, OCR, hatta PDF’yi Word’e veya PNG’ye dönüştürme gibi birçok özelliği var. En güzel kısmıysa, her şey senin kendi sunucunda çalışıyor — yani dosyalarını kimseye emanet etmiyorsun.

    Synology NAS, Docker desteğiyle birlikte adeta mini bir bulut sunucusu gibi. Benim DS224+ cihazımda Docker kurulu, bu sayede Stirling PDF, Pi-hole, AdGuard Home gibi pek çok aracı konteyner olarak kullanabiliyorum. Stirling PDF de bu yapıya çok güzel uyuyor — kaynak kullanımı düşük, kurulumu kolay, arayüzü sade.

    YAMLstirling-pdf.yaml
    services:
      stirling-pdf:
        container_name: Stirling-PDF-Security
        image: stirlingtools/stirling-pdf:latest
        deploy:
          resources:
            limits:
              memory: 4G
        healthcheck:
          test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP' && curl -fL http://localhost:8080/ | grep -q 'Please sign in'"]
          interval: 5s
          timeout: 10s
          retries: 16
        ports:
          - "8080:8080"
        volumes:
          - ./stirling/latest/data:/usr/share/tessdata:rw #degiştir
          - ./stirling/latest/config:/configs:rw #degiştir
          - ./stirling/latest/logs:/logs:rw #degiştir
        environment:
          DISABLE_ADDITIONAL_FEATURES: "false"
          SECURITY_ENABLELOGIN: "true"
          PUID: 1002 #degiştir
          PGID: 1002 #degiştir
          UMASK: "022" 
          SYSTEM_DEFAULTLOCALE: en-US #degiştir
          UI_APPNAME: Stirling-PDF #degiştir
          UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest with Security #degiştir
          UI_APPNAMENAVBAR: Stirling-PDF Latest #degiştir 
          SYSTEM_MAXFILESIZE: "100" #degiştir
          METRICS_ENABLED: "true"
          SYSTEM_GOOGLEVISIBILITY: "true"
          SHOW_SURVEY: "true"
        restart: on-failure:5

    Sıkça Sorulan Sorular

    Stirling PDF nedir ve ne işe yarar?

    Stirling PDF, PDF dosyalarıyla sıkça uğraşanlar için tasarlanmış, açık kaynaklı ve tamamen self-hosted (kendi sunucunuzda çalışan) bir PDF düzenleme platformudur. Tarayıcı üzerinden erişilebildiği için ek bir yazılım kurulumuna gerek duymaz ve metinde “PDF konusunda İsviçre çakısı” olarak tanımlanmıştır.

    Stirling PDF kullanmanın başlıca avantajları nelerdir, özellikle gizlilik konusunda?

    Stirling PDF’in en büyük avantajı gizliliktir. Self-hosted çalıştığı için, tüm PDF işlemleriniz kendi sunucunuzda gerçekleşir ve dosyalarınız üçüncü taraf hizmetlere gönderilmez. Bu sayede hassas verilerinizin kontrolü tamamen sizde kalır ve gizlilik konusunda içiniz rahat olur. Ayrıca açık kaynaklı olması da şeffaflık ve güvenilirlik sağlar.

    Stirling PDF ile hangi işlemleri yapabilirim?

    Stirling PDF, geniş bir yelpazede PDF düzenleme özellikleri sunar. PDF birleştirme, sayfa silme, döndürme, sıkıştırma, filigran ekleme, OCR (Optik Karakter Tanıma) yapma ve hatta PDF’yi Word veya PNG gibi farklı formatlara dönüştürme gibi birçok işlemi kolayca gerçekleştirebilirsiniz.

    Stirling PDF hangi cihazlarda kullanılabilir ve kurulumu nasıldır?

    Stirling PDF, Docker desteği olan Synology NAS gibi cihazlarda kolayca kurulabilir ve kullanılabilir. Metinde Synology DS224+ üzerinde Docker konteyneri olarak çalıştığı belirtilmiştir. Kaynak kullanımı düşük, kurulumu kolay ve arayüzü sade olduğu için bu tür mini bulut sunucusu görevi gören cihazlara iyi uyum sağlar. Sağlanan YAML kodu, Docker Compose ile kurulum için bir örnektir.

    Stirling PDF’i kullanmak için ek bir yazılım indirmem gerekiyor mu?

    Hayır, Stirling PDF tarayıcı üzerinden erişilebilen bir platform olduğu için bilgisayarınıza veya cihazınıza ekstra bir yazılım kurmanıza gerek yoktur. Sadece kendi sunucunuzda çalışacak şekilde kurmanız yeterlidir.

  • SSH Derdine Son: Synology NAS’ta Kendi Minecraft Sunucunuzu Kurmanın En Kolay Yolu (Docker & RCON)

    Synology NAS cihazınızı sadece dosya sunucusu olarak değil, aynı zamanda kendi Minecraft Java Edition sunucunuzu barındırmak için de kullanabilirsiniz.
    Docker sayesinde birkaç adımda, otomatik güncellenen ve kolay yönetilen bir Minecraft sunucusu kurmak mümkün.
    Üstelik RCON Web Admin sayesinde konsola SSH’sız, doğrudan web tarayıcınızdan erişebilirsiniz.

    Docker dizini altında mc ve rcon adında iki dizin oluşturun

    Container Maneger ile yeni proje oluşturun. Proje için bir isim, az önce açtığımız Mc dizininin yolu ve kaynak dosyasını oluşturu seçin. kaynak kodlarıda aşağıdan kopyalayıp yapıştırın ve İleri butonu ile devam edin. Son olarak bitir dediğinizde minecraft sunucunuz başlayacak ve rcon web admin çalışmaya başlayacak.

    DOCKERFILEmc.yaml
    services:
      minecraft:
        image: itzg/minecraft-server
        ports:
          - "25565:25565"
        volumes:
          - "/volume1/docker/mc/data:/data"
        environment:
          SERVER_NAME: "Wally Minecraft Server"
          MOTD: "§b§lWally Sunucusuna Hoş Geldiniz! §f| §7Survival · Sohbet · Eğlence"
          ICON: "https://up.docknology.dev/server-icon.png"
          EULA: "TRUE"
          GAME_MODE: survival
          MAX_MEMORY: 4G
          ENABLE_RCON: "true"
          RCON_PASSWORD: "1234"
          RCON_PORT: 25575
          MAX_BUILD_HEIGHT: 256
          VIEW_DISTANCE: 15
          LEVEL_TYPE: LARGEBIOMES
          MAX_PLAYERS: 10
          CONSOLE: "false"
        restart: always
      rcon:
        image: itzg/rcon
        ports:
          - "4326:4326"  # Web arayüzü
          - "4327:4327"  # API iç bağlantı
        environment:
          RWA_RCON_HOST: "minecraft"
          RWA_RCON_PORT: 25575
          RWA_RCON_PASSWORD: "1234"
          RWA_PASSWORD: "admin123"   # Web panel giriş şifresi
        volumes:
          - "/volume1/docker/mc/rcon:/opt/rcon-web-admin/db"
        restart: always #
    volumes:
      rcon:

    RWA_PASSWORD: “admin123” docker compose da ki bu bu satır web arayüzüne erişim için kullanılacak admin kullanıcısının şifresini belirliyor. web tarayıcınıza http://NASIP:4326 yazarak erişebilirsiniz.

    kullanıcı adı şifresini girin ve minecraft sunucunuzu webden yönetmeye başlayın.

    Eğer modeminizden 4326, 4327 ve 25565 portlarını açarak uzakta ki sevdiklerinizle minecraft oynamaya başlayabilirsiniz. Tabi oyunda bir de yöneticiye ihtiyacımız var. bunun için data dizini içerisinde ops.json dosyasını açmalısınız.

    dosyayı açtığınızda aşağıdaki kodlar örnek olması için paylaşıyorum. Siz kendi ID nizi yazdığınızda oyunda operoter olursunuz.

    JSON
    [
      {
        "uuid": "6e45556c-4a2c-46b8-81bd-848253943bea",
        "name": "MorGolge",
        "level": 4,
        "bypassesPlayerLimit": false
      },
    ]

    peki uuid nerden bulacaksınız, oda çok basit. Container Maneger e girin sol menuden Konteyner girdiğinizde sağ tarafta minecraftı bulun ve girin. Ardından Günlük sekmesine bakın. her şey apaçık orda.

    Ben oğlumu Operator yaptım, hep beni dövüyor 🙂 keyifli oyunlar.

    Sıkça Sorulan Sorular

    Synology NAS’ımı Minecraft sunucusu olarak kullanmanın temel avantajları nelerdir?

    Synology NAS’ınızı sadece bir dosya sunucusu olmaktan çıkarıp, kendi Minecraft Java Edition sunucunuzu barındırmak için kullanabilirsiniz. Docker sayesinde otomatik güncellenen, kolay yönetilen bir sunucu kurabilir, ayrıca RCON Web Admin ile konsola SSH bağlantısı kurmadan doğrudan web tarayıcınızdan erişebilirsiniz.

    Minecraft sunucusunu kurmak için hangi adımları izlemem gerekiyor?

    Öncelikle Docker dizini altında ‘mc’ ve ‘rcon’ adında iki dizin oluşturmalısınız. Ardından Container Manager ile yeni bir proje oluşturup, proje adı, ‘mc’ dizininin yolu ve verilen YAML kodunu kopyalayıp yapıştırarak sunucunuzu başlatabilirsiniz.

    RCON Web Admin nedir ve nasıl erişilir?

    RCON Web Admin, Minecraft sunucunuzun konsoluna SSH bağlantısı kurmadan, web tarayıcınız üzerinden erişmenizi ve yönetmenizi sağlayan bir arayüzdür. Web tarayıcınıza “http://NASIP:4326” yazarak erişebilir ve YAML dosyasında belirlenen (varsayılan “admin123”) şifre ile giriş yapabilirsiniz.

    Uzaktan arkadaşlarımla Minecraft oynamak için ne yapmalıyım?

    Arkadaşlarınızla uzaktan oynamak için modeminizden 4326, 4327 ve 25565 numaralı portları açmanız gerekmektedir. Bu port yönlendirmelerini yaptıktan sonra, arkadaşlarınız sunucunuza internet üzerinden bağlanabilir.

    Bir oyuncuyu Minecraft sunucusunda nasıl operatör yapabilirim ve UUID’sini nasıl bulurum?

    Bir oyuncuyu operatör yapmak için sunucunuzun ‘data’ dizini içerisindeki ‘ops.json’ dosyasını düzenlemeniz gerekir. Oyuncunun UUID’sini bulmak için Container Manager’a girip, sol menüden ‘Konteyner’ sekmesine tıklayarak Minecraft konteynerinizin ‘Günlük’ bölümüne bakabilirsiniz. Oyuncunun UUID’si orada görünecektir.

  • qBittorrent’in Gücü, VueTorrent’in Şıklığı: Synology NAS’ta Mükemmel Torrent Deneyimi (Docker Rehberi)

    Evde kendi bulutunuzu kurduysanız ve dosya indirme işlerini tamamen kontrol altına almak istiyorsanız, qBittorrent tam size göre. Üstelik VueTorrent arayüzüyle birleştiğinde hem şık hem de inanılmaz keyifli bir deneyim sunuyor.
    Ben de kendi Synology NAS üzerinde bu ikiliyi Docker aracılığıyla kurdum — hem performanslı hem de tam anlamıyla “self-hosted” bir çözüm oldu.

    qBittorrent, reklam içermeyen, açık kaynaklı bir torrent istemcisi. Windows, macOS, Linux veya NAS fark etmeksizin hemen her yerde çalışabiliyor.
    Synology’nin Download Station uygulaması fena değil ama esneklik konusunda qBittorrent’in eline su dökemiyor. Torrent indirme sıraları, RSS takibi, kategori bazlı dizinler, gelişmiş filtreler derken adeta bir profesyonel aracına dönüşüyor.

    VueTorrent, qBittorrent’in varsayılan arayüzüne alternatif olarak geliştirilmiş modern bir web arayüzü. Vue.js ile yazılmış, sade, karanlık mod destekli ve oldukça akıcı çalışıyor.
    Arayüz üzerinden dosyaları, torrent durumlarını ve indirme hızlarını takip etmek gerçekten zevkli hale geliyor.
    Kısaca: “qBittorrent’in kas gücü, VueTorrent’in şıklığı.”

    YAMLqbitvue.yaml
    services:
      qbittorrent:
        image: linuxserver/qbittorrent:latest
        container_name: qbittorrent
        environment:
          - PUID=1026 #CHANGE_TO_YOUR_UID
          - PGID=100 #CHANGE_TO_YOUR_GID
          - TZ=Europe/Istanbul #CHANGE_TO_YOUR_TZ
          - WEBUI_PORT=8090
          - DOCKER_MODS=ghcr.io/vuetorrent/vuetorrent-lsio-mod:latest
        volumes:
          - /volume1/docker/qbit:/config
          - /volume2/Data/Torrent:/downloads
        ports:
          - 9854:9854/tcp # Forwarded Port on Router TCP
          - 9854:9854/udp # Forwarded Port on Router TCP
          - 8090:8090/tcp # port for qbittorrent webui
        network_mode: bridge
        restart: always

     

    Sıkça Sorulan Sorular

    Harika bir fikir! İşte verdiğiniz metinden yola çıkarak oluşturulmuş bir Sıkça Sorulan Sorular (FAQ) bölümü:





     

    qBittorrent ve VueTorrent ile Kendi Bulutunuzda Dosya İndirme FAQ

    qBittorrent Nedir ve Kendi Bulutumda Dosya İndirme İşleri İçin Neden Tercih Etmeliyim?

    qBittorrent, reklam içermeyen, açık kaynaklı ve hemen her platformda (Windows, macOS, Linux, NAS gibi) çalışabilen güçlü bir torrent istemcisidir. Özellikle kendi bulutunuzda dosya indirme işlerini tamamen kontrol altına almak istiyorsanız, Synology’nin Download Station gibi alternatiflere göre çok daha fazla esneklik sunar. Torrent indirme sıraları, RSS takibi, kategori bazlı dizinler ve gelişmiş filtreler gibi özellikleriyle adeta bir profesyonel aracı gibi çalışır.

    VueTorrent Nedir ve qBittorrent Deneyimini Nasıl Geliştirir?

    VueTorrent, qBittorrent’in varsayılan arayüzüne modern bir alternatif olarak geliştirilmiş, Vue.js ile yazılmış şık bir web arayüzüdür. Sade tasarımı, karanlık mod desteği ve akıcı çalışması sayesinde dosya ve torrent durumlarını takip etmeyi oldukça keyifli hale getirir. Kısaca, “qBittorrent’in kas gücüne şıklık katan” bir arayüzdür.

    qBittorrent ve VueTorrent Kombinasyonu Kendi Bulut Kurulumları İçin Neden İdealdir?

    Bu ikili, performans ve estetiği bir araya getirerek kendi bulutunuzda dosya indirme deneyimini zirveye taşır. qBittorrent’in sunduğu gelişmiş kontrol ve esneklik, VueTorrent’in modern ve kullanıcı dostu arayüzüyle birleştiğinde hem şık hem de inanılmaz keyifli bir deneyim sunar. Bu sayede, indirme işlemlerinizi tam anlamıyla “self-hosted” ve kontrol altında tutarken aynı zamanda görsel olarak tatmin edici bir arayüze sahip olursunuz.

    Bu Kurulumu Bir Synology NAS Üzerinde Docker ile Yapabilir miyim?

    Evet, metinde belirtildiği gibi yazar kendi Synology NAS üzerinde bu ikiliyi Docker aracılığıyla kurmuştur. Bu yöntem, hem performanslı hem de tam anlamıyla “self-hosted” bir çözüm sunar. LinuxServer’ın qBittorrent imajını ve VueTorrent’in özel Docker modunu kullanarak bu entegrasyonu kolayca gerçekleştirebilirsiniz, böylece Synology NAS’ınızda güçlü ve şık bir torrent istemcisine sahip olursunuz.

    qBittorrent ve VueTorrent Kurulumu İçin Hangi Kaynakları Kullanabilirim?

    Metinde belirtilen YouTube videosu (https://youtu.be/O1zt2CDUKP8) kurulum adımları için görsel bir rehber sunmaktadır. Ayrıca, Docker Compose YAML dosyasındaki örnek yapılandırma, kendi sunucunuzda veya NAS cihazınızda hızlıca bir başlangıç yapmanız için temel bir referans noktası sağlar.

     

  • En Kolay Garanti Takip Yöntemi: Synology NAS üzerine Warracker Docker Kurulumu (Self-Hosted)

    Hepimizin başına gelmiştir…
    Yeni aldığımız bir cihazın garanti belgesini nereye koyduğumuzu hatırlamayız, faturayı ararken terler basar, ya da “şu cihazın garantisi bitmiş miydi acaba?” diye düşünürüz.
    İşte Warracker tam bu noktada devreye giriyor.

    Warracker, açık kaynak kodlu ve tamamen self-hosted (yani kendi sunucunuzda çalışan) bir garanti takip uygulamasıdır.
    Yani verilerinizi bir bulut servisine emanet etmek yerine, tamamen sizin kontrolünüzde tutabilirsiniz.
    Faturalarınızı, cihazlarınızın garanti sürelerini ve belgelerinizi tek bir yerde güvenle saklayabilir, dilediğiniz zaman erişebilirsiniz.

    Warracker’ın en güçlü yanı, verilerinizi hiçbir üçüncü tarafla paylaşmamanız. Uygulamayı kendi sunucunuza, NAS cihazınıza veya VDS’inize kuruyorsunuz. Yani tüm bilgiler sadece sizde kalıyor. Bir nevi kendi “kişisel garanti kasanızı” oluşturuyorsunuz diyebiliriz.

    Neleri Takip Edebilirsiniz?

    • Satın aldığınız ürünlerin faturalarını
    • Garanti başlangıç ve bitiş tarihlerini
    • Cihazın marka, model, seri numarası gibi bilgilerini
    • Belge ve fotoğraf eklerini
    • Hatta dilerseniz hatırlatma bildirimleriyle garanti bitmeden önce uyarı alabilirsiniz

    Tüm bunları sade, modern bir arayüz üzerinden yönetmek mümkün.

    • Ücretsiz ve açık kaynaklı
    • Türkçe dil desteği var
    • Veriler tamamen sizde kalıyor
    • Modern ve sade bir arayüze sahip
    • Docker ile kolay kurulum
    • Aktif geliştirici topluluğu (örneğin @sassanix projeyi düzenli olarak güncelliyor)

    YAMLwarracker.yaml
    # openssl rand -hex 32
    version: '3.8'
    services:
      warracker: 
        image: ghcr.io/sassanix/warracker/main:latest
        container_name: warracker
        ports:
          - "8005:80"
        volumes:
          - /home/firat/warracker/uploads:/data/uploads:rw,z
        environment:
          PUID: 1026
          PGID: 100
          DB_HOST: warrackerdb
          DB_PORT: 5432
          DB_NAME: warranty_db
          DB_USER: warranty_user
          DB_PASSWORD: warranty_password
          DB_ADMIN_USER: warracker_admin
          DB_ADMIN_PASSWORD: warracker_admin_password
          SECRET_KEY: 52d4f41fdb8cb75be93c4356693d599151791808eadc5bf34a7f6ee6bc70a4be
          FRONTEND_URL: https://warracker.kpl.pw
          APP_BASE_URL: https://warracker.kpl.pw
          SMTP_HOST=smtp.gmail.com
          SMTP_PORT=465
          SMTP_USERNAME= #gmail adresiniz
          SMTP_PASSWORD= #gmail şifresnizi yazın
          WARRACKER_MEMORY_MODE: optimized
          MAX_UPLOAD_MB: 128
          NGINX_MAX_BODY_SIZE_VALUE: 128M
        depends_on:
          warrackerdb:
            condition: service_healthy
        restart: unless-stopped
        networks: 
          - warracker-net 
      warrackerdb:
        image: postgres:17-alpine
        container_name: warrackerdb
        volumes:
          - /home/firat/warracker/postgres:/var/lib/postgresql/data
          - /home/firat/warracker/init.sql:/docker-entrypoint-initdb.d/init.sql
        environment:
          POSTGRES_DB: warranty_db
          POSTGRES_USER: warranty_user
          POSTGRES_PASSWORD: warranty_password
        restart: unless-stopped
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
          interval: 10s
          timeout: 5s
          retries: 5
        networks: 
          - warracker-net 
    networks:
      warracker-net:
        driver: bridge

    Sıkça Sorulan Sorular

    İşte Warracker hakkında 4-5 soruluk bir Sıkça Sorulan Sorular (FAQ) bölümü:





     

    Warracker Sıkça Sorulan Sorular

    Warracker nedir ve ne işe yarar?

    Warracker, cihazlarınızın garanti bilgilerini, faturalarını ve ilgili belgelerini tek bir yerde güvenle saklamanızı sağlayan, açık kaynak kodlu ve tamamen self-hosted (kendi sunucunuzda çalışan) bir garanti takip uygulamasıdır. Amacı, garanti takibiyle ilgili karmaşayı ortadan kaldırarak size kolaylık sağlamaktır.

    Warracker’ı neden kullanmalıyım? Garanti belgelerimi fiziksel olarak saklamak yeterli değil mi?

    Hepimizin başına gelmiştir; yeni alınan bir cihazın garanti belgesini veya faturasını nereye koyduğumuzu unutur, ya da “şu cihazın garantisi bitmiş miydi acaba?” diye düşünürüz. Warracker, bu tür endişeleri ortadan kaldırır. Tüm faturalarınızı, garanti sürelerinizi ve belgelerinizi dijital olarak tek bir yerde toplar, böylece dilediğiniz zaman kolayca erişebilir, hatta garanti bitiş tarihlerinden önce hatırlatma bildirimleri alarak olası hak kayıplarını önleyebilirsiniz.

    Verilerim Warracker ile ne kadar güvende? Bilgilerim bir bulut servisinde mi saklanıyor?

    Warracker’ın en güçlü yanlarından biri, verilerinizin tamamen sizin kontrolünüzde olmasıdır. Uygulama self-hosted olduğu için verilerinizi bir bulut servisine emanet etmek yerine, kendi sunucunuza, NAS cihazınıza veya VDS’inize kurarsınız. Bu sayede tüm bilgileriniz hiçbir üçüncü tarafla paylaşılmaz ve sadece sizde kalır, bir nevi kendi “kişisel garanti kasanızı” oluşturmuş olursunuz.

    Warracker ile hangi bilgileri takip edebilirim?

    Warracker ile geniş bir yelpazede bilgiyi takip edebilirsiniz. Bunlar arasında satın aldığınız ürünlerin faturaları, garanti başlangıç ve bitiş tarihleri, cihazın marka, model, seri numarası gibi detaylı bilgileri, ilgili belge ve fotoğraf ekleri bulunmaktadır. Ayrıca, dilerseniz hatırlatma bildirimleriyle garanti bitmeden önce uyarı alabilirsiniz.

    Warracker ücretsiz mi ve kurulumu kolay mı?

    Evet, Warracker tamamen ücretsiz ve açık kaynak kodlu bir uygulamadır. Kurulumu da oldukça kolaydır; Docker desteği sayesinde birkaç basit adımla kendi sunucunuzda, NAS cihazınızda veya VDS’inizde hızlıca çalışır hale getirebilirsiniz. Ayrıca, aktif bir geliştirici topluluğu tarafından sürekli güncellenmekte ve Türkçe dil desteği de sunulmaktadır.

     

  • PiHole, PiVPN, WireGuard ve unbound kurulumu.

    Kendi Reklam Engelleyici ve Güvenli VPN Altyapını Kur!

    Evdeki internet trafiğini hem daha güvenli, hem de temiz hale getirmek istiyorsan, bu rehber tam sana göre. Bu videoda adım adım Ubuntu sanal makine üzerine Pi-hole, PiVPN (WireGuard) ve Unbound DNS kurarak, dışa bağımlılığı azaltan, gizliliği koruyan bir sistem kuracağız.

    Pi-hole, ağ seviyesinde çalışan bir reklam engelleyicidir. Yani sadece tarayıcıda değil, ağa bağlı tüm cihazlarda (telefon, tablet, bilgisayar, akıllı TV) reklamları engeller.
    Kısaca Pi-hole, “DNS tabanlı bir süzgeç” gibi davranır:
    Bir uygulama veya site reklam alanına erişmek istediğinde, Pi-hole bu isteği bloklar.

    • Tarayıcı eklentilerine gerek kalmaz.
    • Tüm ağ cihazlarında otomatik çalışır.
    • Sayfa yüklenme hızlarını artırır.
    • Veri kullanımını azaltır.

    Ubuntu sanal makineye kurulum yaptıktan sonra, sadece modemden DNS ayarını Pi-hole IP adresine yönlendirmek yeterlidir.

    PiVPN ile Güvenli Erişim: WireGuard VPN

    Ev ağına dışarıdan erişmek istiyorsan (örneğin dışarıdayken NAS’ına, Raspberry Pi’na veya evdeki cihazlara ulaşmak), VPN kurmak en güvenli yöntemdir.

    PiVPN, WireGuard protokolü üzerine kurulur. WireGuard hem çok hızlı, hem de hafif bir VPN protokolüdür.

    PiVPN ile Neler Yapabilirsin?

    • Dışarıdayken ev ağındaki cihazlara erişebilirsin.
    • Tüm internet trafiğini güvenli tünel üzerinden yönlendirebilirsin.
    • Pi-hole’u dışarıdan kullanarak reklamsız ve güvenli bir bağlantı kurabilirsin.

    Yani evde kurduğun bu sistem, cebindeki telefonla dünyanın neresinde olursan ol senin kişisel internet ağın haline gelir.

    Unbound ile Kendi DNS Sunucunu Kur

    Pi-hole, DNS isteklerini genellikle Google, Cloudflare veya OpenDNS gibi büyük servis sağlayıcılara iletir.
    Ancak daha yüksek gizlilik istiyorsan, neden bu isteği kendin çözmeyesin?

    Unbound, recursive (özyinelemeli) bir DNS çözümleyicisidir.
    Yani başka DNS servislerine sormadan, doğrudan kök DNS sunucularıyla iletişime geçerek yanıtı bulur.

    Faydaları:

    • Dış DNS sağlayıcılara bağımlılığı ortadan kaldırır.
    • Verilerinin kimseyle paylaşılmamasını sağlar.
    • Cevap sürelerini azaltır, güvenliği artırır.

    Pi-hole ile Unbound birlikte çalıştığında:

    Cihaz → Pi-hole → Unbound → Root DNS

    Tüm Sistemin Avantajları

    Bu yapı sayesinde:

    • Reklamlar ağ seviyesinde engellenir.
    • VPN üzerinden erişim ile her yerden evine bağlanabilirsin.
    • Gizlilik maksimum seviyeye çıkar.
    • Dış DNS bağımlılığı ortadan kalkar.
    • Tüm sistem Ubuntu üzerinde, açık kaynak ve ücretsiz çalışır.

    Sonuç

    Bu kurulum, hem kişisel gizliliğini hem de ağının kontrolünü tamamen sana verir.
    Artık internette gezerken reklam görmeyecek, verilerin üçüncü taraflarla paylaşılmayacak, ve dışarıdayken bile ev ağının içindeymiş gibi hissedeceksin.

    Kısaca:

    “Kendi internetini kendin yönet!”

    Sıkça Sorulan Sorular

    Elbette, işte sağladığınız metinden yola çıkarak oluşturulmuş 5 soruluk HTML formatında bir Sıkça Sorulan Sorular (FAQ) bölümü:






    Kendi Reklam Engelleyici ve Güvenli VPN Altyapını Kur! – SSS


    Kendi Reklam Engelleyici ve Güvenli VPN Altyapını Kur! – Sıkça Sorulan Sorular

    1. Bu rehberle ne tür bir sistem kurabilirim ve temel amacı nedir?

    Bu rehber sayesinde evdeki internet trafiğini daha güvenli ve temiz hale getiren, reklamları engelleyen, gizliliği artıran ve dışa bağımlılığı azaltan entegre bir sistem kurabilirsiniz. Ubuntu sanal makine üzerine Pi-hole (ağ seviyesinde reklam engelleyici), PiVPN (güvenli WireGuard VPN) ve Unbound DNS (kendi DNS sunucusu) kurarak, kişisel

    Sıkça Sorulan Sorular

    Elbette, işte sağladığınız metinden yola çıkarak oluşturulmuş 5 soruluk HTML formatında bir Sıkça Sorulan Sorular (FAQ) bölümü:

    Sıkça Sorulan Sorular

    Bu rehberin temel amacı nedir?

    Bu rehber, evdeki internet trafiğini hem daha güvenli hem de temiz hale getirmeyi amaçlar. Ubuntu sanal makine üzerine Pi-hole, PiVPN (WireGuard) ve Unbound DNS kurarak dışa bağımlılığı azaltan, gizliliği koruyan bir sistem oluşturulur.

    Pi-hole nedir ve başlıca faydaları nelerdir?

    Pi-hole, ağ seviyesinde çalışan bir reklam engelleyicidir. Ağa bağlı tüm cihazlarda (telefon, tablet, bilgisayar, akıllı TV) reklamları engeller. Faydaları arasında tarayıcı eklentilerine gerek kalmaması, tüm ağ cihazlarında otomatik çalışması, sayfa yüklenme hızlarını artırması ve veri kullanımını azaltması bulunur.

    PiVPN (WireGuard) ile neler yapabilirim ve ne gibi güvenlik avantajları sunar?

    PiVPN, WireGuard protokolü üzerine kurulmuş hızlı ve hafif bir VPN çözümüdür. Dışarıdayken ev ağındaki cihazlara güvenli bir şekilde erişmenizi, tüm internet trafiğinizi güvenli bir tünel üzerinden yönlendirmenizi ve Pi-hole’u dışarıdan kullanarak reklamsız ve güvenli bir bağlantı kurmanızı sağlar.

    Unbound DNS neden önemlidir ve Pi-hole ile nasıl çalışır?

    Unbound, recursive (özyinelemeli) bir DNS çözümleyicisidir. Dış DNS sağlayıcılara bağımlılığı ortadan kaldırarak ve doğrudan kök DNS sunucularıyla iletişime geçerek verilerin kimseyle paylaşılmamasını sağlar, gizliliği artırır. Pi-hole ile birlikte çalıştığında, DNS istekleri şu yolu izler: Cihaz → Pi-hole → Unbound → Root DNS.

    Bu tüm sistemin genel avantajları nelerdir?

    Bu yapı sayesinde reklamlar ağ seviyesinde engellenir, VPN üzerinden erişim ile her yerden evinize bağlanılabilir, gizlilik maksimum seviyeye çıkar, dış DNS bağımlılığı ortadan kalkar ve tüm sistem Ubuntu üzerinde açık kaynak ve ücretsiz olarak çalışır.

  • Evdeki Yazıcınızı AirPrint Destekli Hale Getirin! | Docker + CUPS Kurulumu – Synology NAS

    Docker kullanarak herhangi bir yazıcıya AirPrint ve Mopria (Android) desteği eklemeyi gösteriyorum.
    Artık iPhone, iPad veya Android telefonunuzdan direkt olarak kablosuz yazdırma yapabilirsiniz!
    Ben bu kurulumu Synology NAS üzerinde yaptım ama aynı adımlar Raspberry Pi, Ubuntu veya başka bir Linux sistemde de geçerli.

    Benim evde kullandığım yazıcı Epson L3150, bir ağ yazıcısı USB kablosu ile bağlı değil. Eğer sizin yazıcınız USB kablo ile çalışıyor ise Synology NAS’a yada Raspberry Pi cihazına kablo ile bağlayıp da işlemleri yapabilirsiniz. Aşağıdaki adımları uygulayarak kuruluma başlayalım. Haydi şimdi Epson L3150 yazıcıya airprint ile kullanalım 🙂

    Öncelikle Docker dizini altında cups dizini oluşturup içerisinde de config, logs ve services dizinlerini oluşturalım.

    Container Maneger ile yeni bir proje oluşturalım ve aşağıdaki kodları kaynak bölümüne yapıştırın. siz kendinize göre PUID, PGID ve yarattığınız dizinlerin yollarını özelleştirip yapmayı unutmayın. cihazınız UID ve GID’i bulmak için ssh ile oturum açarak aşağıdaki komutu yazmanız yeterli.

    BASH
    id

    Yukarıda ki kodları da kaynak kısmına yapıştırdıktan sonra ileri ve bitir ile deploy edelim. konteyner çalıştıktan sonra web tarayıcınızdan http://NASIP:631 adresine girin. üst menüden Admin linkine tıklayarak yazıcımızı eklemeye başlayalım.

    YAMLcups.yaml
    services:
      qbittorrent:
        image: linuxserver/qbittorrent:latest
        container_name: qbittorrent
        environment:
          - PUID=1026 #CHANGE_TO_YOUR_UID
          - PGID=100 #CHANGE_TO_YOUR_GID
          - TZ=Europe/Istanbul #CHANGE_TO_YOUR_TZ
          - WEBUI_PORT=8090
          - DOCKER_MODS=ghcr.io/vuetorrent/vuetorrent-lsio-mod:latest
        volumes:
          - /volume1/docker/qbit:/config
          - /volume2/Data/Torrent:/downloads
        ports:
          - 9854:9854/tcp # Forwarded Port on Router TCP
          - 9854:9854/udp # Forwarded Port on Router TCP
          - 8090:8090/tcp # port for qbittorrent webui
        network_mode: bridge
        restart: always

    şifre istediğinde compose kodlarında yer alan CUPSADMIN=admin CUPSPASSWORD=123 belirlediğiniz şifre ile giriş yapın.

    Yazıcılar altında Find New Printer butonuna bastığında ağınızda yer alan yazıcıları bulmaya çalışacak. Listeden yazıcınızı seçip devam edebiliriniz.

    Yazıcı ekle dedikten sonra en altta Share This Printer kutucuğu pasif gelir bu aktif hale getirin. diğer alanlarda herhangi bir değişiklik yapmanıza gerek yok. Continue ile devam edelim.

    yazıcınızın driveri yüklemek için marka modeli seçin. yada elinizde linux driveri PPD formatında mevcut ise onu ekleyin ve Add Printer ile devam edin.

    Sizinde yazıcınız benimki gibi bir ağ yazıcısı ise eklediğiniz yazıcıda bir kaç değişiklik yapmalıyız. bunun için üst menüden Printers tıklayın ve açılan sayfadan az önce eklediğiniz yazıcıya girin.

    Administration altında modify printer tıklayayın.

    Açılan menuden AppSocket/HP JetDirect seçip contiune ile devam edin.

    Yazıcınızın ip adresini socket://PRINTER-IP-ADRES şeklinde yazıp continue ile son noktayı koyalım.

    artık bilgisayar, tablet, android ve ios cihazlarınızdan hiç bir ek uygulamaya gerek kalmadan yazdırma işlemi yapabileceksiniz.

     

    Sıkça Sorulan Sorular

    Bu rehberin amacı nedir?

    Bu rehber, Docker kullanarak herhangi bir yazıcıya AirPrint ve Mopria (Android) desteği eklemeyi amaçlar. Böylece iPhone, iPad veya Android telefonunuzdan doğrudan kablosuz yazdırma yapabilirsiniz. Kurulum adımları Synology NAS üzerinde gösterilse de, Raspberry Pi, Ubuntu veya diğer Linux sistemlerinde de uygulanabilir.

    AirPrint/Mopria desteğini kurmak için ön koşullar nelerdir?

    Başlamak için Docker yüklü bir Linux sistemine (Synology NAS, Raspberry Pi, Ubuntu vb.) ihtiyacınız var. Ayrıca, Docker dizini altında cups klasörünü ve içinde config, logs, services alt klasörlerini oluşturmalısınız. Docker Compose dosyasında kullanılacak PUID ve PGID değerlerinizi de bilmeniz gerekmektedir.

    Bu çözümü USB yazıcılar dahil her türlü yazıcıyla kullanabilir miyim?

    Evet, bu çözüm hem ağ yazıcıları (Epson L3150 örneğinde olduğu gibi) hem de USB yazıcılar ile uyumludur. Eğer yazıcınız USB kablosu ile bağlıysa, Docker’ı çalıştırdığınız Synology NAS veya Raspberry Pi gibi cihaza bağlayarak da bu adımları uygulayabilirsiniz.

    Docker konteynerini dağıttıktan sonra CUPS yönetim arayüzüne nasıl erişirim?

    Konteyner çalışmaya başladıktan sonra, web tarayıcınızdan http://NASIP:631 adresine girerek CUPS arayüzüne erişebilirsiniz. Üst menüden “Admin” linkine tıklayıp, Docker Compose kodlarında belirlediğiniz CU

  • Docker ile WireGuard VPN Sunucusu Kurulumu – WG-Easy + Nginx Proxy Manager Rehberi

    ubuntu sanal makinaya Docker üzerinde WireGuard VPN sunucusunu WG-Easy ile nasıl kuracağını adım adım gösteriyorum. Ayrıca Nginx Proxy Manager ile SSL sertifikası kurulumu yapıyorum. Wgeasy hazırladığı web arayüzü sayesinde kullanımı basit bir sistem. İstediğin kadar kada profil oluşturup paylaşabilirsiniz.

    Öncelik sunucunuzda dışa erişim için, Wireguard 51820 ve 51821, Nginx için 80, 81 ve 443, Portainer IO agent için ise 9001 portlarını açıyoruz. Ek olarak sorun yaşamamak için 53 ve 8080 portlarını da açabilirsiniz. Benim hali hazırda kurulu Portainer IO olduğu için sadece agent yüklemesi yaparak anlatacağım.

    SSH ile sunucumuza girelim, root olup güncellemeleri kontrol edip yükleyelim

    Güncellemeler tamamlandıktan sonra sunucumuza docker kurulumu yapalım

    BASH
    sudo su
    apt update && apt upgrade -y 
    BASH
    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    # Add the repository to Apt sources:
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update

    latest versionu kurmak için aşağıdaki komutları kullanalım

    BASH
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    BASH
    sudo systemctl status docker 
    sudo systemctl start docker

    Kurulum yapıldıktan sonra normalde otomatik olarak başlar ama emin olmak için yukarıdaki komutlarla kontrol edebilirsiniz. Şimdi portainer io agent kurulumu yapalım.

    BASH
    docker run -d \
      -p 9001:9001 \
      --name portainer_agent \
      --restart=always \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v /var/lib/docker/volumes:/var/lib/docker/volumes \
      -v /:/host \
      portainer/agent:2.33.2
    

    Environment address sunucusunuz ip adresi:9001 olarak yazmayı unutmayın ve Connect e tıklayarak sunucumuzu portainer’e bağlayalım.

    SSH ile bağlandığımız sunucumuzda aşağıdaki dizinleri oluşturalım

    BASH
    sudo su
    mkdir DB
    mkdir NPM
    cd NPM
    mkdir data
    mkdir letsencrypt

    oluşturduğunuz dizinlerin konumlarını docker compose dosyasına kendinize göre düzenleyin.

    YAMLwgeasy.yaml
    version: '3.8'
    services:
      # --- NGINX Proxy Manager ---
      app:
        image: jc21/nginx-proxy-manager:latest
        container_name: nginx-proxy-manager
        restart: unless-stopped
        ports:
          - "80:80"     # HTTP
          - "81:81"     # Yönetim paneli
          - "443:443"   # HTTPS
        environment:
          DB_MYSQL_HOST: db
          DB_MYSQL_PORT: 3306
          DB_MYSQL_USER: npm
          DB_MYSQL_PASSWORD: npmpass
          DB_MYSQL_NAME: npm
        volumes:
          - /home/USER/npm/data:/data #data dizin yolunu verin
          - /home/USER/npm/letsencrypt:/etc/letsencrypt #SSL için dizinin yolunu verin
        depends_on:
          - db
        networks:
          - wg   # NPM artık wg-easy'nin ağına bağlı
      # --- MariaDB ---
      db:
        image: mariadb:10.11
        container_name: npm-db
        restart: unless-stopped
        environment:
          MYSQL_ROOT_PASSWORD: rootpass
          MYSQL_DATABASE: npm
          MYSQL_USER: npm
          MYSQL_PASSWORD: npmpass
        volumes:
          - /home/USER/db:/var/lib/mysql #SQL için dizin yolunu verin
        networks:
          - wg   # DB de aynı WG ağına bağlandı
      # --- WireGuard Easy ---
      wg-easy:
        image: ghcr.io/wg-easy/wg-easy:15
        container_name: wg-easy
        networks:
          wg:
            ipv4_address: 10.42.42.42
            ipv6_address: fdcc:ad94:bacf:61a3::2a
        volumes:
          - etc_wireguard:/etc/wireguard
          - /lib/modules:/lib/modules:ro
        ports:
          - "51820:51820/udp"
          - "51821:51821/tcp"
        restart: unless-stopped
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        sysctls:
          - net.ipv4.ip_forward=1
          - net.ipv4.conf.all.src_valid_mark=1
          - net.ipv6.conf.all.disable_ipv6=0
          - net.ipv6.conf.all.forwarding=1
          - net.ipv6.conf.default.forwarding=1
    volumes:
      etc_wireguard:
    networks:
      wg:
        driver: bridge
        enable_ipv6: true
        ipam:
          driver: default
          config:
            - subnet: 10.42.42.0/24
            - subnet: fdcc:ad94:bacf:61a3::/64
    

    Portainer IO sol menuden Stacks sonra sağ üst köşede Add Stack tıklayarak yukarıda docker compose dosyasını yapıştırın. Stacks için bir isim vermeyi unutmayın.

    kodlarda gerekli olan dizinlerin yollarını kendinize göre güncelledikten sonra en altta Deploy the Stack butonuna tıklayarak kurulumu başlatalım.

    Var olan bir alan adınızın olduğu varsayarak işleme devam ediyorum. Alanadınızın DNS ayarlarına girerek yeni A kaydı oluşturalım. A kaydının değeri sunucu IP adresi olmalı. Örneğin A kaydı eklediğiniz alanadı vpn.ALANADINIZ.com –> olsun. Kaydı ekledikten sonra web tarayıcınızda http://vpn.alanadiniz.com:81 adresine girelim. Nginix default kullanıcı adı admin@example.com şifre ise changeme ile Nginx e giriş yapalım. İlk girişte mail adresi ve şifrenizi değiştirmek isteyecek.

    Kullanıcı ve şifrenizi değiştirdikten sonra menuden Hosts ardından proxy hosts a girin. Add Proxy e tıklayarak npm için bir kural oluşturalım.

    artık nginx maneger https://vpn.alanadiniz.com şeklimde girebileceğiz. Şimdi sıra Wireguard Web için de alanadınız da bir A kaydı daha ekleyelim. Örneğin https://wg.alanadiniz.com olsun ve alan adıyla işlemlerimizi tamamlayalım. bunun içinde bir Nginx de proxy host ekleyip SSL sertifikası verelim.

    kullanacağımız ip adresi 10.42.42.42 olacak.

    SSL ayarlarını da yaptıkdan sonra kaydedelim. Artık https://wg.alanadiniz.com girerek Wireguard web arayüzüne erişebileceksiniz.

    Continue ile devam edelim

    kullanıcı adı ve şifre belirleyelim

    Eğer bir yedeğiniz var ise Yes ile yükleyebilirsiniz. Sıfır bir kurulum için NO ile devam edin

    host kısmına A kaydı eklediğiniz alan adını yazabilir yada sunucunun IP adresini yazıp Continue tıkladığınız belirlediğiniz kullanıcı adı ve şifre ile admin portala girebilirsiniz.

    artık yeni kullanıcılar ekleyip Wireguard uygulaması ile hızlı VPN’in keyfini çıkarabilirsiniz.

    Sıkça Sorulan Sorular

    Sıkça Sorulan Sorular (FAQ)

    1. Ubuntu sanal makineye Docker üzerinde WireGuard VPN sunucusunu WG-Easy ile kurarken hangi portları açmam gerekiyor?

    Sunucunuzda dışa erişim için WireGuard için 51820 ve 51821, Nginx Proxy Manager için 80, 81 ve 443, Portainer IO agent için ise 9001 portlarını açmanız gerekmektedir. Ek olarak, sorun yaşamamak adına 53 ve 8080 portlarını da açmanız önerilir.

    2. Docker kurulumundan önce sunucuda yapılması gereken ilk adımlar nelerdir?

    Öncelikle SSH ile sunucunuza bağlanmalı, ‘sudo su’ komutu ile root yetkisine geçmeli ve ardından ‘apt update && apt upgrade -y’ komutu ile güncellemeleri kontrol edip yüklemelisiniz.

    3. Ubuntu’ya Docker nasıl kurulur ve kurulumun başarılı olduğunu nasıl kontrol edebilirim?

    Docker’ın resmi GPG anahtarını ve deposunu ekledikten sonra ‘sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin’ komutu ile kurulumu yapabilirsiniz. Kurulum sonrası ‘sudo systemctl status docker’ komutu ile Docker servisinin durumunu kontrol edebilir ve gerekirse ‘sudo systemctl start docker’ ile başlatabilirsiniz.

    4. Portainer IO Agent nedir ve kurulumu nasıl yapılır?

    Portainer IO Agent, Docker ortamlarınızı Portainer üzerinden yönetmek için kullanılan bir araçtır. Kurulumu için aşağıdaki docker run komutunu kullanabilirsiniz:

    docker run -d \
      -p 9001:9001 \
      --name portainer_agent \
      --restart=always \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v /var/lib/docker/volumes:/var/lib/docker/volumes \
      -v /:/host \
      portainer/agent:2.33.2

    Kurulum sonrası Portainer arayüzünde Environment adresini sunucunuzun IP adresi:9001 olarak ayarlayarak bağlantı kurmalısınız.

    5. WG-Easy ve Nginx Proxy Manager’ın bu kurulumdaki rolleri nelerdir?

    WG-Easy, WireGuard VPN sunucusunu web arayüzü sayesinde kolayca kurmanızı ve istediğiniz kadar VPN profilini oluşturup yönetmenizi sağlar. Nginx Proxy Manager ise WG-Easy gibi servisler için SSL sertifikası (Let’s Encrypt ile) kurulumunu ve ters proxy görevini üstlenerek güvenli ve yönetilebilir bir erişim sunar. Nginx Proxy Manager için ‘DB’, ‘NPM’, ‘NPM/data’ ve ‘NPM/letsencrypt’ dizinlerinin oluşturulması gerekmektedir.