نصب برای تیم و شرکت
این راهنما برای راهاندازی Penpot روی یک سرور داخلی شرکت است که همه اعضای تیم بتوانند از آن استفاده کنند.
چرا سرور داخلی؟
- ✅ همکاری بهتر: همه روی یک سرور کار میکنند
- ✅ دادههای متمرکز: همه پروژهها در یک جا
- ✅ امنیت بیشتر: دادهها روی شبکه داخلی شرکت
- ✅ بدون نیاز به اینترنت: فقط شبکه داخلی کافی است
- ✅ مدیریت آسانتر: یک نفر مدیریت میکند
پیشنیازها
سختافزار سرور
- CPU: حداقل ۴ هسته (۸ هسته توصیه میشود)
- RAM: حداقل ۱۶ گیگابایت (۳۲ گیگابایت برای تیم بزرگ)
- فضای دیسک: حداقل ۱۰۰ گیگابایت (SSD توصیه میشود)
- شبکه: اتصال به شبکه داخلی شرکت
نرمافزار
- سیستم عامل: لینوکس (اوبونتو ۲۰.۰۴ یا جدیدتر توصیه میشود)
- Docker: نسخه ۲۰.۱۰ یا جدیدتر
- Docker Compose: نسخه ۲.۰ یا جدیدتر
مراحل نصب
مرحله ۱: آمادهسازی سرور
نصب Docker:
# بهروزرسانی سیستم
sudo apt-get update
sudo apt-get upgrade -y
# نصب Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# اضافه کردن کاربر به گروه docker
sudo usermod -aG docker $USER
# نصب Docker Compose
sudo apt-get install docker-compose-plugin -y
# راهاندازی Docker
sudo systemctl start docker
sudo systemctl enable docker
# بررسی نصب
docker --version
docker compose version
مرحله ۲: دانلود فایلهای پیکربندی
# ساخت پوشه پروژه
mkdir -p /opt/penpotify
cd /opt/penpotify
# دانلود فایلهای docker-compose.yml و .env
# (از سایت پنپاتیفای یا مخزن GitHub)
مرحله ۳: تنظیم فایل .env
فایل .env را باز کنید و تنظیمات زیر را انجام دهید:
# آدرس عمومی Penpot (با IP سرور)
PENPOT_PUBLIC_URI=http://192.168.1.100:9001
# فعال کردن ثبتنام
PENPOT_REGISTRATION_ENABLED=true
# تنظیمات ایمیل (اختیاری)
# PENPOT_SMTP_HOST=smtp.example.com
# PENPOT_SMTP_PORT=587
# PENPOT_SMTP_USER=your-email@example.com
# PENPOT_SMTP_PASSWORD=your-password
نکته مهم: 192.168.1.100 را با IP واقعی سرور خود جایگزین کنید.
مرحله ۴: پیدا کردن IP سرور
# نمایش IP سرور
ip addr show
# یا
hostname -I
IP را یادداشت کنید و در .env استفاده کنید.
مرحله ۵: راهاندازی Penpot
# راهاندازی
docker compose up -d
# بررسی وضعیت
docker compose ps
# مشاهده لاگها
docker compose logs -f
مرحله ۶: بررسی دسترسی
از مرورگر روی سرور:
http://localhost:9001
یا از کامپیوتر دیگر در شبکه:
http://192.168.1.100:9001
تنظیمات فایروال
UFW (اوبونتو)
# فعال کردن UFW
sudo ufw enable
# باز کردن پورت 9001
sudo ufw allow 9001/tcp
# بررسی وضعیت
sudo ufw status
firewalld (CentOS/RHEL)
# باز کردن پورت
sudo firewall-cmd --add-port=9001/tcp --permanent
sudo firewall-cmd --reload
# بررسی
sudo firewall-cmd --list-ports
دسترسی اعضای تیم
برای اعضای تیم
همه اعضای تیم میتوانند با IP سرور به Penpot دسترسی داشته باشند:
http://192.168.1.100:9001
نکته: اگر از DNS داخلی استفاده میکنید، میتوانید یک نام دامنه داخلی تنظیم کنید:
http://penpot.company.local:9001
تنظیم DNS داخلی (اختیاری)
اگر میخواهید از نام دامنه استفاده کنید:
-
در سرور DNS شرکت، یک رکورد A اضافه کنید:
penpot.company.local → 192.168.1.100 -
در فایل
.env:PENPOT_PUBLIC_URI=http://penpot.company.local:9001 -
Penpot را ریاستارت کنید:
docker compose restart
مدیریت کاربران
ساخت حساب کاربری
- اولین کاربر باید از طریق رابط وب ثبتنام کند
- بعد از ثبتنام، میتواند تیم بسازد و اعضای دیگر را دعوت کند
مدیریت دسترسی
- مالک تیم: میتواند اعضا را اضافه/حذف کند
- اعضای تیم: میتوانند روی پروژهها کار کنند
- مشاهدهکننده: فقط میتواند مشاهده کند
بکاپ و بازیابی
گرفتن بکاپ منظم
#!/bin/bash
# فایل backup.sh
# توقف Penpot
cd /opt/penpotify
docker compose down
# ساخت بکاپ
BACKUP_DIR="/backup/penpot"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/penpot-backup-$DATE.tar.gz volumes/
# راهاندازی مجدد
docker compose up -d
echo "Backup completed: $BACKUP_DIR/penpot-backup-$DATE.tar.gz"
اجرای خودکار بکاپ (cron):
# ویرایش crontab
crontab -e
# اضافه کردن این خط (هر روز ساعت ۲ صبح)
0 2 * * * /opt/penpotify/backup.sh
بازیابی از بکاپ
# توقف Penpot
docker compose down
# استخراج بکاپ
cd /opt/penpotify
tar -xzf /backup/penpot/penpot-backup-YYYYMMDD_HHMMSS.tar.gz
# راهاندازی مجدد
docker compose up -d
بهروزرسانی
# 1. بکاپ بگیرید
./backup.sh
# 2. دانلود ایمیجهای جدید
docker compose pull
# 3. راهاندازی مجدد
docker compose down
docker compose up -d
# 4. بررسی وضعیت
docker compose ps
مانیتورینگ
بررسی استفاده از منابع
# استفاده از CPU و RAM
docker stats
# استفاده از دیسک
df -h
du -sh volumes/
بررسی لاگها
# همه لاگها
docker compose logs
# لاگ سرویس خاص
docker compose logs penpot-frontend
docker compose logs penpot-backend
# لاگهای زنده
docker compose logs -f
امنیت
توصیههای امنیتی
- فایروال: فقط پورت 9001 را باز کنید
- SSL/TLS: برای اتصال امن، از reverse proxy استفاده کنید (nginx)
- بکاپ: بکاپ منظم بگیرید
- بهروزرسانی: همیشه به آخرین نسخه بهروز باشید
- دسترسی: فقط اعضای تیم به سرور دسترسی داشته باشند
تنظیم SSL با Nginx (اختیاری)
server {
listen 80;
server_name penpot.company.local;
location / {
proxy_pass http://localhost:9001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
عیبیابی
مشکل: اعضای تیم نمیتوانند دسترسی پیدا کنند
-
بررسی فایروال:
sudo ufw status -
بررسی IP:
ip addr show -
بررسی تنظیمات
.env:cat .env | grep PENPOT_PUBLIC_URI -
تست از سرور:
curl http://localhost:9001
مشکل: عملکرد کند است
-
بررسی منابع:
docker stats -
افزایش RAM یا CPU
-
استفاده از SSD
نکات مهم
- IP ثابت: مطمئن شوید که سرور IP ثابت دارد (نه DHCP)
- بکاپ منظم: همیشه بکاپ بگیرید
- مانیتورینگ: استفاده از منابع را بررسی کنید
- امنیت: فایروال را فعال کنید
- مستندات: تغییرات را مستند کنید
گام بعدی
بعد از نصب موفق:
- نحوه کارکرد پنپاتیفای را بخوانید
- عیبیابی را مطالعه کنید
- به اعضای تیم آموزش دهید
موفق باشید! 🎉
با پنپاتیفای، تیم شما میتواند بدون وابستگی به اینترنت طراحی کند.