tr
Geliştiriciler için Offshore VPS: Kurulum ve İş Akışı
Offshore VPS, geliştiriciler için güvenli ve kısıtlama olmayan bir geliştirme ve dağıtım ortamı sunar. Kendi Git sunucunuzu barındırabilir, özel Docker kayıt defterinizi kurabilir ve içerik politikası endişesi olmadan CI/CD pipeline'larınızı çalıştırabilirsiniz. Bu rehber, profesyonel bir geliştirici iş akışı kurmanızı sağlar.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Docker ve Docker Compose Kurulumu
Docker, modern uygulama geliştirme ve dağıtımının temel taşıdır. Offshore VPS'te Docker kullanmak çevre bağımsızlığı ve kolay ölçeklendirme sağlar.
Docker resmi kurulum scripti:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Kullanıcıyı docker grubuna ekleyin (sudo gerektirmeden kullanım için):
sudo usermod -aG docker $USER
newgrp docker
Docker Compose v2 kurulumu:
sudo apt install -y docker-compose-plugin
docker compose version
Docker servisini başlatın:
sudo systemctl enable docker
sudo systemctl start docker
Temel Docker komutları:
docker ps -a
docker images
docker logs KONTEYNER_ADI
docker exec -it KONTEYNER_ADI bash
docker system prune -af
Docker bellek ve CPU limiti örneği:
docker run -d --name web-app --memory="512m" --cpus="0.5" --restart unless-stopped -p 3000:3000 node:18-alpine node app.js
Gitea ile Kendi Git Sunucusu
Gitea, GitHub benzeri özellikler sunan hafif ve self-hosted bir Git sunucusudur. Offshore VPS'te barındırmak kod gizliliğinizi maksimize eder.
Docker Compose ile Gitea kurulumu:
mkdir -p /opt/gitea
vim /opt/gitea/docker-compose.yml
version: "3"
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=GUCLU_SIFRE
restart: unless-stopped
volumes:
- /opt/gitea/data:/data
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: unless-stopped
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=GUCLU_SIFRE
- POSTGRES_DB=gitea
volumes:
- /opt/gitea/postgres:/var/lib/postgresql/data
Başlatın:
cd /opt/gitea
docker compose up -d
Tarayıcıdan http://SUNUCU_IP:3000 adresine gidin ve kurulum sihirbazını tamamlayın.
Nginx ile SSL proxy ekleyin:
sudo certbot --nginx -d git.alan-adiniz.com
CI/CD Pipeline Kurulumu
Gitea Actions veya Drone CI ile otomatik test ve dağıtım pipeline'ları oluşturun.
Drone CI Docker Compose yapılandırması:
vim /opt/drone/docker-compose.yml
version: "3"
services:
drone:
image: drone/drone:2
container_name: drone
environment:
- DRONE_GITEA_SERVER=https://git.alan-adiniz.com
- DRONE_GITEA_CLIENT_ID=GITEA_OAUTH_ID
- DRONE_GITEA_CLIENT_SECRET=GITEA_OAUTH_SECRET
- DRONE_RPC_SECRET=GUCLU_RASSAL_SECRET
- DRONE_SERVER_HOST=ci.alan-adiniz.com
- DRONE_SERVER_PROTO=https
volumes:
- /opt/drone/data:/data
restart: unless-stopped
ports:
- "8080:80"
drone-runner:
image: drone/drone-runner-docker:1
container_name: drone-runner
environment:
- DRONE_RPC_PROTO=https
- DRONE_RPC_HOST=ci.alan-adiniz.com
- DRONE_RPC_SECRET=GUCLU_RASSAL_SECRET
- DRONE_RUNNER_CAPACITY=2
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
Örnek .drone.yml pipeline dosyası:
kind: pipeline
type: docker
name: default
steps:
- name: test
image: node:18
commands:
- npm install
- npm test
- name: deploy
image: appleboy/drone-ssh
settings:
host: SUNUCU_IP
username: deploy
key:
from_secret: ssh_private_key
script:
- cd /opt/app && git pull && docker compose up -d --build
when:
branch:
- main
Geliştirme Ortamı En İyi Uygulamaları
Offshore VPS'te profesyonel geliştirme iş akışı için önerilen yapılandırmalar.
Dedicated deploy kullanıcısı oluşturun:
sudo adduser deploy
sudo usermod -aG docker deploy
sudo mkdir -p /home/deploy/.ssh
sudo cp ~/.ssh/authorized_keys /home/deploy/.ssh/
sudo chown -R deploy:deploy /home/deploy/.ssh
Ortam değişkeni yönetimi için .env şablonları:
mkdir -p /opt/app
vim /opt/app/.env.example
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@localhost/dbname
SECRET_KEY=your-secret-here
PORT=3000
Gerçek .env dosyasını git'ten hariç tutun:
echo ".env" >> /opt/app/.gitignore
Docker Registry ile özel imaj deposu:
docker run -d -p 5000:5000 --name registry --restart unless-stopped -v /opt/registry:/var/lib/registry registry:2
Özel registry'ye imaj yükleyin:
docker tag myapp:latest SUNUCU_IP:5000/myapp:latest
docker push SUNUCU_IP:5000/myapp:latest
Log aggregation için Loki + Promtail:
docker run -d --name loki -p 3100:3100 grafana/loki:latest
Anubiz Host offshore VPS planlarında geliştirme araçlarınız, portlarınız ve iş akışlarınız üzerinde tam kontrol sahibisiniz. Herhangi bir proje türü için kısıtlama olmaksızın çalışabilirsiniz.
Related Services
Why Anubiz Host
100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.