Günlük diziniDockup / saha notu
Note / self-host-actualbudget

Actual Budget'ı 2026'da Kendi Sunucunuzda Barındırma: Sync, HTTPS ve Finansal Veri Yedekleri

Actual Budget'ı doğru port, kalıcı depolama, TLS, kimlik doğrulama ve yedeklemelerle dağıtın. Üretimde sync dizini geçici olduğunda sorunları giderin.

Başarısız bir Actual Budget dağıtımı her zaman çökmez. Sync dizini geçiciyken veya bir proxy büyük sync isteklerini kaldırırken giriş sayfası sunulmaya devam edebilir. Bunun yerine uçtan uca bir kontrolle başlayın: bir bütçe oluşturun veya içe aktarın, işlemler ekleyin, ikinci bir tarayıcıyı sync edin ve uygulama düzeyinde bir dışa aktarma gerçekleştirin.

Bu kontrol, Actual Budget'ın kataloglanmış amacına uygundur: verilerin diskinizde tutulduğu envelope budgeting. Aynı zamanda eksik bağımlılıkları, hatalı proxy varsayımlarını ve uptime probe'un ortaya çıkarabileceğinden daha önce geçici verileri açığa çıkarır.

Actual Budget'ı bağımlılıklarından ayırın

Actual Budget network namespace'i ile başlayın: web listener'ı 5006 portudur; bir laptop eğitiminden kopyalanmış host portu değildir. Yerel çalışma zamanı gereksinimi, bir kalıcı veri volume'ü ve ilk kurulum için desteklenen bir tarayıcıdır. Actual Budget'ı host'lar arasında taşırken davranışın sessizce değişmemesi için yaşam döngüsünü açıkça yönetin.

Gereksinim karşılandıktan sonra senaryonun tamamını çalıştırın — bir bütçe oluşturun veya içe aktarın, işlemler ekleyin, ikinci bir tarayıcıyı sync edin ve uygulama düzeyinde bir dışa aktarma gerçekleştirin. Ağır server-side hesaplamalar yerine bütçe dosyası boyutu, sync trafiği ve server depolaması için log'ları ve ölçümleri kaydedin. Bu kanıt, ilk bilinen iyi mimariyi oluşturur ve Dockup compute ile bağlı bir server arasındaki sonraki geçişleri test edilebilir hâle getirir.

Üretim benzeri ilk instance'ı çalıştırın

Platformun ileride neleri yöneteceğini ortaya koyan minimal bir komut faydalıdır.

docker run -d \
  --name actual-budget \
  --restart unless-stopped \
  -p 127.0.0.1:5006:5006 \
  -v actual-budget-data:/data \
  -e ACTUAL_PORT=5006 \
  actualbudget/actual-server:latest

Burada 5006 portu host'a özel kalır ve gerekli tüm path'ler açıkça belirtilir. Dış erişim vermeden önce yerel gereksinimi doğrulayın: bir kalıcı veri volume'ü ve ilk kurulum için desteklenen bir tarayıcı. Başlangıç işlemini hem log'larla hem de uygulamaya özgü kanıtla doğrulayın: bir bütçe oluşturun veya içe aktarın, işlemler ekleyin, ikinci bir tarayıcıyı sync edin ve uygulama düzeyinde bir dışa aktarma gerçekleştirin. Doğrulama tamamlandıktan sonra image sürümünü sabitleyin; böylece rutin bir replacement davranışı sessizce değiştirmez.

Public origin'i belirsizliğe yer bırakmayacak şekilde tanımlayın

Kullanıcılar callback'leri veya client ayarlarını kaydetmeden önce nihai Actual Budget hostname'ini seçin, ardından sync client'larının server'a güvenmesi için sabit bir HTTPS URL'si kullanın. Platform route'u TLS'i bir kez sonlandırmalı ve private port 5006'yı hedeflemelidir.

Acceptance transaction'ı dışarıdan çalıştırın. Client Actual Budget'a hiç ulaşamıyorsa DNS ve sertifika kontrolleri için SSL validation checklist sayfasını kullanın. İstek Actual Budget'a ulaşıyor ancak sync dizini geçiciyse veya bir proxy büyük sync isteklerini kaldırıyorsa proxy redirect'lerini değiştirmeyi bırakın ve bunun yerine uygulamaya özgü sınırı inceleyin.

Actual Budget kurtarmasını ölçülebilir hâle getirin

Actual Budget için bir recovery manifest'i oluşturun: server dosyaları ile periyodik uygulama düzeyinde bütçe dışa aktarmaları. Bootstrap işleminden önce /data'yı mount edin, zararsız örnek veriler yazın ve bu path'in gerçekten kalıcı olduğunu kanıtlamak için container'ı değiştirin. Sahipliği ve boş alanı şimdi kontrol edin; çünkü mount edilmiş ancak yazılamayan bir path, hiç persistence yokmuş gibi davranır.

Yedekleri çalışan server'dan ayrı bir failure domain'e alın. Actual Budget'ı sabitlenmiş image'ıyla yeniden oluşturun ve geri yüklenen server'ın aynı hesapları ve bakiyeleri sync ettiğini, bağımsız dışa aktarmanın da içe aktarılabildiğini doğrulayın. persistent-volume guide, bu çalışmayı snapshot ve retention policy'ye dönüştürmenize yardımcı olur.

Bootstrap sonrasında Actual Budget'ı güvenlik altına alın

Bootstrap kimlik bilgileri geçicidir; trust modeli kalıcıdır. Actual Budget kullanırken, password yapılandırılmadan bir finance server'ı yayınlamamaya dikkat edin. Instance eksiksiz finansal geçmiş içerdiğinden server password'ünü erişime açmadan önce ayarlayın ve HTTPS kullanın.

ACTUAL_PORT, gizlilikten çok davranışı kontrol eder; türünü ve değerini doğrulayın, gerçek Actual Budget kimlik bilgilerini ayrı saklayın. Image'ı gereksiz Linux capability'leri olmadan çalıştırın ve yalnızca public application route'unu dışa açın. Secret değerleri kaydetmeden administrator etkinliğini görünür tutun.

Actual Budget'ı gerçek darboğazı etrafında işletin

Dashboard'ları ağır server-side hesaplamalar yerine bütçe dosyası boyutu, sync trafiği ve server depolaması etrafında oluşturun. Bu workload bağlamı olmadan bir CPU grafiği Actual Budget'ın neden yavaş olduğunu açıklayamaz. Zararsız test verileri kullanarak bir bütçe oluşturmayı veya içe aktarmayı, işlemler eklemeyi, ikinci bir tarayıcıyı sync etmeyi ve uygulama düzeyinde bir dışa aktarma gerçekleştirmeyi deneyen synthetic veya zamanlanmış bir kontrol ekleyin.

Upgrade işleminden önce uygulamaya özgü şu riski hesaba katın: Actual'ın data migration'ları, rollback için hem server dosyaları hem de dışa aktarılmış bir bütçe hazır bulundurularak test edilmelidir. Yakın tarihli bir yedeği izole bir deployment'a geri yükleyin, migration'ları orada çalıştırın ve davranışı karşılaştırın. Sync dizini geçiciyse veya bir proxy büyük sync isteklerini kaldırıyorsa ilgisiz ayarlara dokunmadan önce söz konusu sınırı — public origin, storage veya dependency — inceleyin.

Actual Budget yayına alınmadan önce toplanacak kanıtlar

Küçük ve atılabilir bir Actual Budget fixture'ı oluşturun ve her release için saklayın. Fixture gerçek workflow'u çalıştırmalıdır: bir bütçe oluşturun veya içe aktarın, işlemler ekleyin, ikinci bir tarayıcıyı sync edin ve uygulama düzeyinde bir dışa aktarma gerçekleştirin. Image digest'ini, external hostname'i, dependency adresini ve beklenen sonucu kaydedin; böylece sonraki bir operator bu testi bu kılavuzu yorumlamak zorunda kalmadan tekrarlayabilir.

Fixture'ı üç kez çalıştırın. İlkinde fresh deployment'ı kullanın. İkincisinde kalıcı state'e dokunmadan container'ı değiştirin. Üçüncüsünde yedeği boş bir ortama geri yükleyin. Üçüncü çalıştırma yalnızca geri yüklenen server aynı hesapları ve bakiyeleri sync ettiğinde ve bağımsız dışa aktarma da içe aktarılabildiğinde başarılı olur. Her çalıştırma sırasında ağır server-side hesaplamalar yerine bütçe dosyası boyutu, sync trafiği ve server depolaması çevresindeki latency'yi ve resource kullanımını kaydedin; bunlar rastgele bir CPU yüzdesi yerine alert'ler için baseline oluşturur.

Son olarak negative path'i bilinçli olarak test edin: bu sınırla ilişkili resource veya format limitine yakın zararsız bir input gönderin: sync dizini geçicidir veya bir proxy büyük sync isteklerini kaldırır. Actual Budget'ın state'i bozmadan hatayı görünür şekilde verdiğini doğrulayın, doğru koşulu yeniden sağlayın ve başarılı transaction'ı tekrarlayın. Bu dört sonucu içeren bir release kaydı, bir dashboard ekran görüntüsünden veya tek seferlik bir curl yanıtından daha güçlü kanıttır.

Tekrarlanabilir infrastructure işlerini Dockup'a taşıyın

Dockup, değiştirilebilir platform parçalarını üstlenebilir: trafiği 5006 portuna yönlendirebilir, domain ve sertifika sağlayabilir, secret'ları enjekte edebilir, persistent storage bağlayabilir ve Actual Budget'ı yönetilen veya private olarak bağlanan service'lere bağlayabilir. Bunu Dockup altyapısında veya bağladığınız bir server üzerinde gerçekleştirebilir.

Actual Budget acceptance çalışması açıkça yapılmaya devam eder. One-click deployment sonrasında sync client'larının server'a güvenmesi için sabit bir HTTPS URL'si kullanın, yerel gereksinimi doğrulayın — bir kalıcı veri volume'ü ve ilk kurulum için desteklenen bir tarayıcı — ve şu senaryoyu çalıştırın: bir bütçe oluşturun veya içe aktarın, işlemler ekleyin, ikinci bir tarayıcıyı sync edin ve uygulama düzeyinde bir dışa aktarma gerçekleştirin. Bu ayrım bilinçlidir: Dockup tekrarlanan infrastructure kurulumunu ortadan kaldırır, ancak application role'lerinin, provider credential'larının veya restore policy'nin kendiliğinden seçildiğini varsaymaz.

Sık sorulan sorular

Actual Budget'ın production deployment için neye ihtiyacı vardır?

Actual Budget container'ını 5006 portu üzerinden tek bir HTTPS origin'e yönlendirin. Yerel çalışma zamanı gereksinimi, bir kalıcı veri volume'ü ve ilk kurulum için desteklenen bir tarayıcıdır. Bir bütçe oluşturup veya içe aktarıp işlemler ekleyene, ikinci bir tarayıcıyı sync edene ve uygulama düzeyinde bir dışa aktarma gerçekleştirene kadar Actual Budget'ı hazır kabul etmeyin.

Hangi Actual Budget verileri yedeğe dâhil edilmelidir?

/data'yı kalıcı hâle getirin ve server dosyaları ile periyodik uygulama düzeyinde bütçe dışa aktarmalarını aynı recovery manifest'ine dâhil edin. Temiz bir Actual Budget restore işlemi yalnızca geri yüklenen server aynı hesapları ve bakiyeleri sync ettiğinde ve bağımsız dışa aktarma da içe aktarılabildiğinde başarılı olur.

Actual Budget reverse proxy arkasında HTTPS gerektirir mi?

Public Actual Budget origin'i için HTTPS kullanın ve 5006 portunu internal route üzerinde tutun. Actual Budget ayarını doğru uygulayın: sync client'larının server'a güvenmesi için sabit bir HTTPS URL'si kullanın. Actual Budget için HTTPS, credentials veya user content'in aktarım sırasında korunmasını ve origin'e duyarlı client davranışının tutarlı kalmasını sağlar.

Actual Budget upgrade işlemi nasıl test edilmelidir?

Mevcut Actual Budget state'ini izole bir deployment'a geri yükleyin, aday sürümü uygulayın ve acceptance transaction'ını tekrarlayın. Actual'ın data migration'ları, rollback için hem server dosyaları hem de dışa aktarılmış bir bütçe hazır bulundurularak test edilmelidir; bu nedenle özellikle bu noktaya dikkat edin. Data migration ve rollback sınırları anlaşılana kadar önceki Actual Budget image'ını saklayın.