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, see Mixpost license page)LICENSE_KEY=...LICENSE_KEY
(your app URL, for example, https://my-project.com)APP_URL=...APP_URL
(your app key. Generate a base64 secret with this tool)APP_KEY=...APP_KEY
(the database name of the linked MySQL container)DB_DATABASE=...DB_DATABASE
(the user of the linked MySQL container)DB_USERNAME=...DB_USERNAME
(the user password of the linked MySQL container)DB_PASSWORD=...DB_PASSWORD
Optional:
(Your project name. Default value:APP_NAME=...APP_NAME'Mixpost'
)
(Available options:APP_DEBUG=...APP_DEBUGtrue
/false
. Default value:false
)
(This is the path that Mixpost will use to load its core routes and assets. Default value:MIXPOST_CORE_PATH=...MIXPOST_CORE_PATHmixpost
)
(public pages have an endpoint directly after the URL domain (for example, https://your-domain/privacy-policy). Default value:MIXPOST_PUBLIC_PAGES_PREFIX=...MIXPOST_PUBLIC_PAGES_PREFIXpages
, which means https://your-domain/pages/privacy-policy)
(Enable/Disable Forgot Password feature. Default value:MIXPOST_FORGOT_PASSWORD=...MIXPOST_FORGOT_PASSWORD'true'
)
(Enable/Disable Two Factor Authentication feature. Default value:MIXPOST_TWO_FACTOR_AUTH=...MIXPOST_TWO_FACTOR_AUTH'true'
)
(Default value: smtp.mailgun.org)MAIL_HOST=...MAIL_HOST
(Default value: 587)MAIL_PORT=...MAIL_PORTMAIL_USERNAME=...MAIL_USERNAMEMAIL_PASSWORD=...MAIL_PASSWORD
(Default value: tls)MAIL_ENCRYPTION=...MAIL_ENCRYPTION
(Default value: hello@example.com)MAIL_FROM_ADDRESS=...MAIL_FROM_ADDRESS
(Default value: Example)MAIL_FROM_NAME=...MAIL_FROM_NAME
(The IP of the MySql server. Default value:DB_HOST=...DB_HOSTmysql
)
(The port of the MySql server. Default value:DB_PORT=...DB_PORT3306
)
(The IP of Redis server. Default value:REDIS_HOST=...REDIS_HOSTredis
)
(The port of the Redis server. Default value:REDIS_PORT=...REDIS_PORT6379
)
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.