From be4f05ae8a4e127a89dd3d8edecc065b1ecd8ee2 Mon Sep 17 00:00:00 2001 From: DrMxrcy Date: Wed, 22 Mar 2023 14:26:10 -0400 Subject: [PATCH 1/7] Add Mixpost --- README.md | 1 + apps/mixpost/config.json | 38 ++++++++++++++++ apps/mixpost/docker-compose.yml | 64 +++++++++++++++++++++++++++ apps/mixpost/metadata/description.md | 22 +++++++++ apps/mixpost/metadata/logo.jpg | Bin 0 -> 18072 bytes 5 files changed, 125 insertions(+) create mode 100644 apps/mixpost/config.json create mode 100644 apps/mixpost/docker-compose.yml create mode 100644 apps/mixpost/metadata/description.md create mode 100644 apps/mixpost/metadata/logo.jpg diff --git a/README.md b/README.md index eb654bac..dcde245e 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Monero Daemon](https://github.com/monero-project/monero/) - A network daemon for Monero: the secure, private, untraceable cryptocurrency - [Monero p2pool Daemon](https://github.com/SChernykh/p2pool) - Decentralized pool for Monero mining - [Monica](https://github.com/monicahq/monica) - A Personal Relationship Management tool to help you document your social life +- [Mixpost](https://github.com/inovector/mixpost) - Self-hosted social media management. Schedule and organize your social content. - [n8n](https://github.com/n8n-io/n8n) - Workflow Automation Tool - [Navidrome](https://github.com/navidrome/navidrome) - A selfhosted music server - [Nextcloud](https://github.com/nextcloud/server) - A safe home for all your data diff --git a/apps/mixpost/config.json b/apps/mixpost/config.json new file mode 100644 index 00000000..d95bcbc8 --- /dev/null +++ b/apps/mixpost/config.json @@ -0,0 +1,38 @@ +{ + "$schema": "../schema.json", + "name": "Mixpost", + "port": 8167, + "available": true, + "exposable": true, + "id": "mixpost", + "tipi_version": 1, + "version": "v1.1.3", + "categories": ["social", "utilities"], + "description": "Mixpost it's the coolest Self-hosted social media management software.", + "short_desc": "Self-hosted social media management. Schedule and organize your social content. ", + "author": "Inovector", + "source": "https://github.com/inovector/mixpost", + "form_fields": [ + { + "type": "random", + "label": "Mixpost SQL Password", + "min": 32, + "env_variable": "MIXPOST_MYSQL_PASSWORD" + }, + { + "type": "random", + "label": "Mixpost Redis Password", + "min": 32, + "env_variable": "MIXPOST_REDIS_PASSWORD" + }, + { + "type": "random", + "label": "Application key", + "required": false, + "min": 32, + "max": 32, + "env_variable": "MIXPOST_APP_KEY" + } + + ] +} diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml new file mode 100644 index 00000000..8afbd518 --- /dev/null +++ b/apps/mixpost/docker-compose.yml @@ -0,0 +1,64 @@ +version: "3" + +services: + mixpost: + image: inovector/mixpost:v1.1.3 + container_name: mixpost + environment: + - APP_NAME='Mixpost' + - APP_KEY=${MIXPOST_APP_KEY} # Generate a base64 secret here: https://generate-random.org/laravel-key-generator?count=1 + - APP_URL=https://${APP_DOMAIN} + - DB_HOST=mixpost_mysql + - DB_DATABASE=mixpost + - DB_USERNAME=tipi + - DB_PASSWORD=${MIXPOST_MYSQL_PASSWORD} + - REDIS_HOST=mixpost_redis + - REDIS_PASSWORD=${MIXPOST_REDIS_PASSWORD} + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/mixpost-storage:/var/www/html/storage/app + - ${APP_DATA_DIR}/data/mixpost-logs:/var/www/html/storage/logs + ports: + - ${APP_PORT}:80 + depends_on: + - mixpost-db + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.mixpost.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mixpost.entrypoints: websecure + traefik.http.routers.mixpost.service: mixpost + traefik.http.routers.mixpost.tls.certresolver: myresolver + traefik.http.services.mixpost.loadbalancer.server.port: 80 + + mixpost_mysql: + image: mysql/mysql-server:8.0 + container_name: mixpost_mysql + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MIXPOST_MYSQL_PASSWORD} + - MYSQL_USER=tipi + - MYSQL_PASSWORD=${MIXPOST_MYSQL_PASSWORD} + - MYSQL_DATABASE=mixpost + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-p ${MIXPOST_MYSQL_PASSWORD}"] + retries: 3 + timeout: 5s + volumes: + - ${APP_DATA_DIR}/data/mysql:/var/lib/mysql + networks: + - tipi_main_network + + mixpost_redis: + image: 'redis:latest' + command: redis-server --appendonly yes --replica-read-only no --requirepass "${MIXPOST_REDIS_PASSWORD}" + volumes: + - '${APP_DATA_DIR}/data/redis:/data' + healthcheck: + test: ["CMD", "redis-cli", "ping"] + retries: 3 + timeout: 5s + networks: + - tipi_main_network + diff --git a/apps/mixpost/metadata/description.md b/apps/mixpost/metadata/description.md new file mode 100644 index 00000000..43fec64d --- /dev/null +++ b/apps/mixpost/metadata/description.md @@ -0,0 +1,22 @@ +## Inital Setup + +An admin user will be created automatically. SSH into your Tipi server and check mixpost container logs to find out the password. + +You can log in to Mixpost at /mixpost using the admin user account created. + +## Introduction + +Mixpost it's the coolest Self-hosted social media management software. + +This package is the Lite version of Mixpost Pro, and by integrating it into your Laravel project, you can easily create, schedule, publish, and manage social media content in one place, with no limits or monthly subscription fees. + +It's the perfect social media management solution for bloggers, crafters and entrepreneurs. + +**Mixpost Pro is under development and will be released soon. Sign up to be notified when it's released [mixpost.app](https://mixpost.app/)** + +Join our community: + +- [Discord](https://discord.gg/5YdseZnK2Z) +- [Facebook Private Group](https://www.facebook.com/groups/inovector) + +[![](https://github.com/inovector/mixpost/raw/main/art/cover.png?v=3)](https://mixpost.app) diff --git a/apps/mixpost/metadata/logo.jpg b/apps/mixpost/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a7dc492a5c2fd4d7f2eefed7c56d0c11d6617c7 GIT binary patch literal 18072 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 Date: Wed, 22 Mar 2023 14:30:26 -0400 Subject: [PATCH 2/7] Update docker-compose.yml --- apps/mixpost/docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index 8afbd518..66c2e887 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" +version: "3.1" services: mixpost: @@ -6,7 +6,7 @@ services: container_name: mixpost environment: - APP_NAME='Mixpost' - - APP_KEY=${MIXPOST_APP_KEY} # Generate a base64 secret here: https://generate-random.org/laravel-key-generator?count=1 + - APP_KEY=${MIXPOST_APP_KEY} - APP_URL=https://${APP_DOMAIN} - DB_HOST=mixpost_mysql - DB_DATABASE=mixpost @@ -54,11 +54,11 @@ services: image: 'redis:latest' command: redis-server --appendonly yes --replica-read-only no --requirepass "${MIXPOST_REDIS_PASSWORD}" volumes: - - '${APP_DATA_DIR}/data/redis:/data' + - '${APP_DATA_DIR}/data/redis:/data' healthcheck: test: ["CMD", "redis-cli", "ping"] retries: 3 timeout: 5s networks: - - tipi_main_network + - tipi_main_network From bc49030e8b5b05a83aaa15480521ac0be7e6f326 Mon Sep 17 00:00:00 2001 From: DrMxrcy Date: Wed, 22 Mar 2023 14:31:45 -0400 Subject: [PATCH 3/7] Update docker-compose.yml --- apps/mixpost/docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index 66c2e887..e2fa872e 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -21,7 +21,8 @@ services: ports: - ${APP_PORT}:80 depends_on: - - mixpost-db + - mixpost-mysql + - mixpost-redis networks: - tipi_main_network labels: From 829d69e9a9c5c1c0d124cc7ec81531cb98c6dd66 Mon Sep 17 00:00:00 2001 From: DrMxrcy Date: Wed, 22 Mar 2023 14:32:28 -0400 Subject: [PATCH 4/7] Update docker-compose.yml --- apps/mixpost/docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index e2fa872e..2a53e157 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -8,11 +8,11 @@ services: - APP_NAME='Mixpost' - APP_KEY=${MIXPOST_APP_KEY} - APP_URL=https://${APP_DOMAIN} - - DB_HOST=mixpost_mysql + - DB_HOST=mixpost-mysql - DB_DATABASE=mixpost - DB_USERNAME=tipi - DB_PASSWORD=${MIXPOST_MYSQL_PASSWORD} - - REDIS_HOST=mixpost_redis + - REDIS_HOST=mixpost-redis - REDIS_PASSWORD=${MIXPOST_REDIS_PASSWORD} restart: unless-stopped volumes: @@ -33,7 +33,7 @@ services: traefik.http.routers.mixpost.tls.certresolver: myresolver traefik.http.services.mixpost.loadbalancer.server.port: 80 - mixpost_mysql: + mixpost-mysql: image: mysql/mysql-server:8.0 container_name: mixpost_mysql restart: unless-stopped @@ -51,7 +51,7 @@ services: networks: - tipi_main_network - mixpost_redis: + mixpost-redis: image: 'redis:latest' command: redis-server --appendonly yes --replica-read-only no --requirepass "${MIXPOST_REDIS_PASSWORD}" volumes: From 45c4b458b269f89ea00a902444bf9188c7ec7c57 Mon Sep 17 00:00:00 2001 From: DrMxrcy Date: Wed, 22 Mar 2023 14:53:39 -0400 Subject: [PATCH 5/7] Update docker-compose.yml --- apps/mixpost/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index 2a53e157..c94d191d 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -6,8 +6,8 @@ services: container_name: mixpost environment: - APP_NAME='Mixpost' - - APP_KEY=${MIXPOST_APP_KEY} - - APP_URL=https://${APP_DOMAIN} + - APP_KEY='${MIXPOST_APP_KEY}'' + - APP_URL='https://${APP_DOMAIN}' - DB_HOST=mixpost-mysql - DB_DATABASE=mixpost - DB_USERNAME=tipi From 2413ded220fc0a946603813b4ff78b329ed39231 Mon Sep 17 00:00:00 2001 From: DrMxrcy Date: Wed, 22 Mar 2023 15:08:59 -0400 Subject: [PATCH 6/7] Update Nginx --- apps/mixpost/data/nginx/nginx.conf | 32 ++++++++++++++++++++++++++++++ apps/mixpost/docker-compose.yml | 3 ++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 apps/mixpost/data/nginx/nginx.conf diff --git a/apps/mixpost/data/nginx/nginx.conf b/apps/mixpost/data/nginx/nginx.conf new file mode 100644 index 00000000..5610093a --- /dev/null +++ b/apps/mixpost/data/nginx/nginx.conf @@ -0,0 +1,32 @@ +map $http_x_forwarded_proto $fcgi_https { + default off; + https on; +} + +server { + listen 80; + root /var/www/html/public; + index index.php index.html; + client_max_body_size 200M; + + location / { + try_files $uri /index.php?$args; + } + + location ~ \.php$ { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; + + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param HTTPS $fcgi_https; + fastcgi_read_timeout 1000; + proxy_set_header X-Real-IP $remote_addr; + proxy_buffer_size 128k; + proxy_buffers 4 256k; + proxy_busy_buffers_size 256k; + } +} \ No newline at end of file diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index c94d191d..cb2524aa 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -6,7 +6,7 @@ services: container_name: mixpost environment: - APP_NAME='Mixpost' - - APP_KEY='${MIXPOST_APP_KEY}'' + - APP_KEY='${MIXPOST_APP_KEY}' - APP_URL='https://${APP_DOMAIN}' - DB_HOST=mixpost-mysql - DB_DATABASE=mixpost @@ -18,6 +18,7 @@ services: volumes: - ${APP_DATA_DIR}/data/mixpost-storage:/var/www/html/storage/app - ${APP_DATA_DIR}/data/mixpost-logs:/var/www/html/storage/logs + - ${APP_DATA_DIR}/data/nginx/nginx.conf:/etc/nginx/sites-enabled/default ports: - ${APP_PORT}:80 depends_on: From 067730c6c3055617ed8119b2ca540eabf9c44db7 Mon Sep 17 00:00:00 2001 From: DrMxrcy Date: Wed, 22 Mar 2023 15:40:01 -0400 Subject: [PATCH 7/7] Update description.md --- apps/mixpost/metadata/description.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/mixpost/metadata/description.md b/apps/mixpost/metadata/description.md index 43fec64d..06aebbec 100644 --- a/apps/mixpost/metadata/description.md +++ b/apps/mixpost/metadata/description.md @@ -1,9 +1,14 @@ ## Inital Setup -An admin user will be created automatically. SSH into your Tipi server and check mixpost container logs to find out the password. +An admin user will be created automatically. SSH into your Tipi server and run `docker logs mixpost 2>&1 | grep "Your password" ` to find out the password. You can log in to Mixpost at /mixpost using the admin user account created. +## Inital User + +Username: admin@admin.com +Password: SSH into your Tipi server and run `docker logs mixpost 2>&1 | grep "Your password" ` + ## Introduction Mixpost it's the coolest Self-hosted social media management software.