This guide provides installation options for Socioboard 5.0 on Linux servers. Choose the deployment method that best fits your infrastructure.
⚠️ Important: Socioboard 5.0’s last release was in November 2019. For new deployments, consider actively maintained alternatives like Mixpost or Postiz.
| Method | Difficulty | Time | Best For |
|---|---|---|---|
| Docker Compose | Easy | 15 min | Quick deployment, testing |
| Manual Installation | Advanced | 45 min | Full control, custom setups |
| Ansible Automation | Intermediate | 20 min | Multiple servers, reproducibility |
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4 cores |
| RAM | 2 GB | 4+ GB |
| Storage | 10 GB | 20+ GB SSD |
| OS | Debian 10+, Ubuntu 20.04+, RHEL 9+ | Debian 12, Ubuntu 24.04 |
Docker deployment is the simplest and most reproducible method.
# Debian/Ubuntu
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Verify installation
docker --version
docker compose version
git clone https://github.com/socioboard/Socioboard-5.0.git socioboard
cd socioboard
# Copy environment template
cp docker/.env.example docker/.env
# Edit configuration
nano docker/.env
chmod +x docker-set-mongo-init.sh
./docker-set-mongo-init.sh
# Pull latest images
docker compose -f docker/docker-compose.yaml pull
# Start in background
docker compose -f docker/docker-compose.yaml up -d
# Check status
docker logs socioboard
https://your-domain.comhttps://your-domain.com/adminadmin@scb.example / scb@123🔐 Critical: Change default admin credentials immediately after first login!
Manual installation provides full control but requires more configuration.
# Update system
sudo apt-get update && sudo apt-get upgrade -y
# Install PHP 8.3 and extensions
sudo apt-get install -y php8.3 php8.3-cli php8.3-fpm \
php8.3-curl php8.3-mysql php8.3-bcmath php8.3-gd \
php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl
# Install Node.js 18.x LTS
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Install MongoDB
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update && sudo apt-get install -y mongodb-org
# Install MySQL
sudo apt-get install -y mysql-server
git clone https://github.com/socioboard/Socioboard-5.0.git socioboard
cd socioboard
# Install PM2 globally
sudo npm install -g pm2
# Set environment
export NODE_ENV=production
# Install dependencies for all microservices
cd socioboard-api/User && npm install && cd ../Feeds && npm install && \
cd ../Common && npm install && cd ../Update && npm install && \
cd ../Publish && npm install && cd ../Notification && npm install
MySQL Setup:
sudo mysql -u root -p
CREATE DATABASE socioboard_mysql CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'socioboard'@'localhost' IDENTIFIED BY 'strong-password-here';
GRANT ALL PRIVILEGES ON socioboard_mysql.* TO 'socioboard'@'localhost';
FLUSH PRIVILEGES;
EXIT;
MongoDB Setup:
mongosh
use socioboard_mongodb
db.createUser({
user: "socioboard",
pwd: "strong-password-here",
roles: [{ role: "readWrite", db: "socioboard_mongodb" }]
})
Edit socioboard-api/Common/Sequelize-cli/config/config.json:
{
"development": {
"username": "socioboard",
"password": "strong-password-here",
"database": "socioboard_mysql",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "socioboard",
"password": "strong-password-here",
"database": "socioboard_mysql",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
Run migrations:
cd socioboard-api/Common/Sequelize-cli
npx sequelize-cli db:migrate
npx sequelize-cli db:seed --seed 20210303111816-initialize_application_informations.cjs
cd socioboard-web-php
# Install PHP dependencies
composer install --no-dev --optimize-autoloader
# Generate application key
php artisan key:generate
# Configure environment
cp .env.example .env
nano .env
Update .env with your database credentials and Node.js service endpoints.
Start Node.js Microservices with PM2:
cd /path/to/socioboard/socioboard-api
pm2 start User/user.server.js --name socioboard-user
pm2 start Feeds/feeds.server.js --name socioboard-feeds
pm2 start Publish/publish.server.js --name socioboard-publish
pm2 start Notification/notify.server.js --name socioboard-notify
pm2 start Update/update.server.js --name socioboard-update
pm2 save
pm2 startup
Start PHP Application:
cd /path/to/socioboard/socioboard-web-php
php artisan serve --host=0.0.0.0 --port=8000
server {
listen 80;
server_name socioboard.example.com;
location / {
proxy_pass http://127.0.0.1:8000;
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;
}
}
For automated deployment across multiple servers, use Ansible.
See Socioboard Ansible Setup for complete playbook.
# Run playbook
ansible-playbook -i inventory.ini socioboard.yml
# Let's Encrypt with Certbot
sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d socioboard.example.com
# Create backup script
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
mysqldump -u socioboard -p socioboard_mysql > /backups/socioboard_mysql_$DATE.sql
mongodump --db socioboard_mongodb --out /backups/socioboard_mongo_$DATE
Services won’t start:
# Check Docker logs
docker logs socioboard
# Check PM2 status
pm2 status
pm2 logs
Database connection errors:
# Verify MySQL is running
sudo systemctl status mysql
# Test MongoDB connection
mongosh --username socioboard --password
PHP errors:
# Check PHP error log
sudo tail -f /var/log/php8.3-fpm.log
# Verify PHP extensions
php -m | grep -E 'curl|mysql|mbstring|gd'
Any questions?
Feel free to contact us. Find all contact information on our contact page.