

Mixpost
799 123What is Mixpost ?
Mixpost is a robust and versatile social media management platform, designed to streamline social media operations and enhance content marketing strategies. Our platform empowers brands and businesses to effectively manage their online presence, leading them to success in the dynamic digital landscape. Mixpost’s mission is to offer a comprehensive and powerful solution, enabling users to elevate their social media management and achieve tangible results.
The platform allows users to craft, organize, and schedule their content for times when their audience is most engaged and active. Mixpost’s user-friendly scheduling system ensures that content publishing is seamless and efficient. It also facilitates team collaboration by allowing users to assign tasks, manage permissions, and monitor team performance, optimizing team interactions and workflow. Additionally, Mixpost automates post scheduling to ensure maximum audience reach and engagement, significantly boosting interaction and customer engagement.
Trusted by a wide range of users, Mixpost stands out as a proficient and influential tool for social media management and content marketing. It is perfectly suited for enterprises, small to medium businesses, marketing agencies, solopreneurs, and e-commerce stores.
Mixpost Features
Mixpost offers a multitude of features, making social media management more effective and simpler:
Streamlined Social Account Management: Bring all your social media accounts together in one place for smarter and more efficient management.
Advanced Analytics: Gain insights into your audience’s behavior and preferences. Mixpost provides detailed analytics, allowing you to choose from preset reports or create custom ones based on the data that matters most to you.
Post Versions and Conditions: Tailor your content for each social network and automate follow-up comments on high-performing posts, enhancing engagement and reach.
Efficient Media Library: Quickly access and reuse media files like images, GIFs, and videos, and integrate with stock image sources for a diverse range of content.
Team Collaboration and Workspaces: Foster team collaboration with dedicated workspaces. Discuss ideas, manage tasks, and monitor performance, all from a centralized platform.
Queue and Calendar Management: Build a natural content posting schedule and visualize your strategy with an easy-to-use calendar.
Customizable Post Templates: Boost efficiency with reusable post templates, perfect for maintaining consistency across your social media channels.
Dynamic Variables and Hashtag Groups: Insert dynamic text and organize your hashtags strategically for increased post effectiveness. And many more features that make Mixpost a standout choice for managing social media and content marketing. Discover all the features in detail at Mixpost Features.
It is the ideal social media management software for bloggers, artisans, entrepreneurs, and marketing teams looking to optimize internal costs.
Unlock the full potential of Mixpost with Mixpost Pro/Enterprise
Requirements
- Laravel Framework [^9.0, ^10.0]
- PHP 8.1 or higher
- Database (eg: MySQL, PostgresSQL, SQLite)
- Redis 6.2 or higher
- Web Server (eg: Apache, Nginx, IIS)
- URL Rewrite (eg: mod_rewrite for Apache)
Installation
If you have experience with Laravel and PHP, but don’t want to install Mixpost in an existing Laravel application, you can use our standalone app. This standalone app is a regular Laravel app, which Mixpost has been preinstalled with. You can use Composer to create this standalone app.
If you already have a Laravel (9 or 10) application, you may use Composer to install Mixpost into your Laravel project:
composer require inovector/mixpost
After installing the Mixpost package, you may execute:
php artisan mixpost:install
To ensure that these assets get republished each time Mixpost is updated, we strongly advise you to add the following command to the post-update-cmd
of the scripts section of your composer.json
.
"scripts": { "post-update-cmd": [ "@php artisan mixpost:publish-assets --force=true" ]}
Mixpost uses Job Batching and you should create a database migration to build a table to contain meta information about your job batches.
If your application does not yet have this table, it may be generated using the:
php artisan queue:batches-table
Run the migrations with:
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag=mixpost-config
Mixpost has the ability to generate images from video while uploading a video file. This would not be possible without FFmpeg installed on your server. You need to follow FFmpeg installation instructions on their official website.
After installation, depending on the operating system, you need to set the ffmpeg_path
and ffprobe_path
in the
Mixpost config file.
Default folder path: /usr/bin/
. If FFmpeg is there, there is no need to change it.
/* * FFMPEG & FFProbe binaries paths, only used if you try to generate video thumbnails */'ffmpeg_path' => env('FFMPEG_PATH', '/usr/bin/ffmpeg'),'ffprobe_path' => env('FFPROBE_PATH', '/usr/bin/ffprobe'),
Install Horizon
Mixpost handles various tasks in a queued way via Laravel Horizon. If your application doesn’t have Horizon installed yet, follow their installation instructions.
After Horizon is installed, don’t forget to set QUEUE_CONNECTION
in your .env
file to redis
.
config/horizon.php
should have been created in your project. In this config file, you must add a block
named mixpost-heavy
to both the production
and local
environment.
'environments' => [ 'production' => [ 'supervisor-1' => [ 'maxProcesses' => 10, 'balanceMaxShift' => 1, 'balanceCooldown' => 3, ], 'mixpost-heavy' => [ 'connection' => 'mixpost-redis', 'queue' => ['publish-post'], 'balance' => 'auto', 'processes' => 8, 'tries' => 1, 'timeout' => 60 * 60, ], ],
'local' => [ 'supervisor-1' => [ 'maxProcesses' => 3, ], 'mixpost-heavy' => [ 'connection' => 'mixpost-redis', 'queue' => ['publish-post'], 'balance' => 'auto', 'processes' => 3, 'tries' => 1, 'timeout' => 60 * 60, ], ], ],
In the config/queue.php
file you must add the mixpost-redis
connection:
'connections' => [
// ...
'mixpost-redis' => [ 'driver' => 'redis', 'connection' => 'default', 'queue' => env('REDIS_QUEUE', 'default'), 'retry_after' => 11 * 60, 'block_for' => null, ],
Don’t forget running php artisan horizon
. In production, you need a way to keep your horizon
processes running. For
this reason, you need to configure a process
monitor Supervisor that can detect when your horizon
processes exit and automatically restart them.
Example of supervisor config:
[program:mixpost_horizon]process_name=%(program_name)scommand=php /path-to-your-project/artisan horizonautostart=trueautorestart=trueuser=your_user_namestopwaitsecs=3600
Schedule the commands
In the console kernel (app/Console/Kernel.php
), you should schedule this command.
protected function schedule(Schedule $schedule){ // ... $schedule->command('mixpost:run-scheduled-posts')->everyMinute(); $schedule->command('mixpost:import-account-data')->everyTwoHours(); $schedule->command('mixpost:import-account-audience')->everyThreeHours(); $schedule->command('mixpost:process-metrics')->everyThreeHours(); $schedule->command('mixpost:delete-old-data')->daily();}
Don’t forget to add a cron that running the scheduler:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Add authorization to Mixpost UI
Mixpost does not come with any user management, we assume that you already provide this in your own app. You can use a gate check to determine who can access Mixpost.
However, we have created a separate package Mixpost Auth that you can install very easily. Read the documentation of this package to find out how to install it.
You can determine which users of your application are allowed to view the Mixpost UI by defining a gate check called
viewMixpost in your app/Providers/AppServiceProvider.php
file.
public function boot(){ \Illuminate\Support\Facades\Gate::define('viewMixpost', function ($user = null) { });}
Mixpost will redirect unauthorized users to the route name specified in the redirect_unauthorized_users_to_route
key of the
Mixpost config file.
Visit the UI
After performing all these steps, you should be able to visit the Mixpost UI at /mixpost.
Testing
composer test