Using Docker Image
Docker Installation (Guide)
Have a VPS?
Desktop?
Just create a docker-compose.yml
file on your server, and change the values (which start with the example_*) with real values.
For passwords, we recommend using strong values. You can use this tool to generate strong passwords:
Required:
LICENSE_KEY
(license key, see Mixpost license page)APP_URL
(your app URL, for example, https://my-project.com)APP_KEY
(your app key. Generate a base64 secret with this tool)DB_DATABASE
(the database name of the linked MySQL container)DB_USERNAME
(the user of the linked MySQL container)DB_PASSWORD
(the user password of the linked MySQL container)
Optional:
APP_NAME
(Your project name. Default value:'Mixpost'
)APP_DEBUG
(Available options:true
/false
. Default value:false
)MIXPOST_CORE_PATH
(This is the path that Mixpost will use to load its core routes and assets. Default value:mixpost
)MIXPOST_PUBLIC_PAGES_PREFIX
(public pages have an endpoint directly after the URL domain (for example, https://your-domain/privacy-policy). Default value:pages
, which means https://your-domain/pages/privacy-policy)MIXPOST_FORGOT_PASSWORD
(Enable/Disable Forgot Password feature. Default value:'true'
)MIXPOST_TWO_FACTOR_AUTH
(Enable/Disable Two Factor Authentication feature. Default value:'true'
)MIXPOST_DEFAULT_LOCALE
(Default value:'en-GB'
)MAIL_HOST
(Default value: smtp.mailgun.org)MAIL_PORT
(Default value: 587)MAIL_USERNAME
MAIL_PASSWORD
MAIL_ENCRYPTION
(Default value: tls)MAIL_FROM_ADDRESS
(Default value: hello@example.com)MAIL_FROM_NAME
(Default value: Example)DB_HOST
(The IP of the MySql server. Default value:mysql
)DB_PORT
(The port of the MySql server. Default value:3306
)REDIS_HOST
(The IP of Redis server. Default value:redis
)REDIS_PORT
(The port of the Redis server. Default value:6379
)
version: '3.1'
services:
mixpost:
image: inovector/mixpost-pro-team:latest
environment:
LICENSE_KEY: 'example_license_key'
APP_URL: https://your-domain.com
APP_KEY: example_secret_key # Generate a base64 secret with this tool: https://mixpost.app/encryption-key-generator
DB_DATABASE: 'example_db_name'
DB_USERNAME: 'example_db_user'
DB_PASSWORD: 'example_db_password'
ports:
- 9000:80
volumes:
- storage:/var/www/html/storage/app
depends_on:
- mysql
- redis
restart: unless-stopped
mysql:
image: 'mysql/mysql-server:8.0'
ports:
- '3306:3306'
environment:
MYSQL_DATABASE: 'example_db_name'
MYSQL_USER: 'example_db_user'
MYSQL_PASSWORD: 'example_db_password'
volumes:
- 'mysql:/var/lib/mysql'
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-p example_db_password"]
retries: 3
timeout: 5s
restart: unless-stopped
redis:
image: 'redis:latest'
command: redis-server --appendonly yes --replica-read-only no
volumes:
- 'redis:/data'
healthcheck:
test: ["CMD", "redis-cli", "ping"]
retries: 3
timeout: 5s
restart: unless-stopped
volumes:
mysql:
driver: local
redis:
driver: local
storage:
driver: local
Then execute this command:
docker-compose up -d
You can connect to Mixpost by accessing the URL address set in APP_URL
Important information
Mixpost uses encrypting and decrypting text via OpenSSL using AES-256 and AES-128 encryption to secure your credentials of services and connected social accounts. That said, we don't recommend you change APP_KEY
. By changing the APP_KEY
, some functions in the applications will stop working, namely: service credentials and connected social account tokens will no longer be able to be decrypted. You will have to re-enter your service credentials and reconnect your social accounts. For Mastodon, you have to re-create a new app, see the instruction.
Change the API_KEY
only if you have a serious reason such as your access to the server has been compromised.