Postiz One click app

The one click setup for open source social media scheduler postiz
This commit is contained in:
Alexandru (The) Serban
2024-11-08 05:27:05 +02:00
parent addc720409
commit af057f9e0e
2 changed files with 130 additions and 47 deletions

13
public/svgs/postiz.svg Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 370 410" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-11583.9,-1689)">
<g transform="matrix(1,0,0,1,-0.097081,-0.236295)">
<g transform="matrix(12.8208,0,0,12.8208,11584,1689.24)">
<path d="M4.902,4.617C4.924,4.976 4.955,5.38 4.991,5.842L6.282,22.516C6.426,24.379 6.498,25.311 6.916,25.995C7.283,26.596 7.832,27.066 8.482,27.337C9.222,27.644 10.154,27.572 12.018,27.428L24.788,26.44C25.997,26.346 26.813,26.283 27.424,26.136C27.219,26.617 26.903,27.046 26.498,27.385C25.885,27.9 24.974,28.11 23.153,28.531L10.672,31.41C8.85,31.83 7.939,32.04 7.162,31.846C6.478,31.675 5.866,31.292 5.413,30.752C4.898,30.138 4.688,29.228 4.268,27.406L0.509,11.111C0.089,9.289 -0.121,8.379 0.073,7.601C0.243,6.917 0.626,6.305 1.166,5.852C1.78,5.337 2.691,5.127 4.512,4.707L4.902,4.617Z" style="fill:rgb(97,43,211);fill-rule:nonzero;"/>
<path d="M18.098,14.088C17.864,14.346 17.565,14.489 17.199,14.517C16.947,14.537 16.739,14.504 16.577,14.417C16.414,14.317 16.293,14.213 16.214,14.106L15.76,8.23C15.845,7.87 16,7.597 16.226,7.41C16.451,7.209 16.689,7.098 16.942,7.079C17.04,7.071 17.176,7.089 17.349,7.132C17.536,7.174 17.729,7.3 17.929,7.511C18.128,7.708 18.308,8.026 18.469,8.465C18.644,8.904 18.762,9.509 18.821,10.281C18.858,10.759 18.86,11.246 18.828,11.743C18.809,12.225 18.737,12.668 18.613,13.073C18.503,13.477 18.332,13.815 18.098,14.088Z" style="fill:white;fill-rule:nonzero;"/>
<path d="M5.956,5.092C5.857,3.82 5.808,3.184 6.018,2.679C6.203,2.235 6.523,1.861 6.934,1.61C7.4,1.325 8.036,1.275 9.308,1.177L23.423,0.085C24.695,-0.014 25.331,-0.063 25.836,0.147C26.281,0.332 26.655,0.652 26.906,1.063C27.191,1.529 27.24,2.165 27.339,3.437L28.733,21.453C28.831,22.725 28.88,23.361 28.671,23.866C28.486,24.311 28.165,24.685 27.755,24.936C27.288,25.221 26.652,25.27 25.38,25.369L11.265,26.461C9.993,26.559 9.357,26.609 8.852,26.399C8.408,26.214 8.034,25.893 7.783,25.483C7.498,25.016 7.448,24.38 7.35,23.108L5.956,5.092ZM15.631,6.566L15.509,4.986L12.476,5.22L13.758,21.797L16.732,20.804L16.336,15.686C16.506,15.871 16.751,16.028 17.072,16.159C17.392,16.275 17.819,16.313 18.352,16.272C19.096,16.214 19.702,16.005 20.168,15.644C20.648,15.268 21.014,14.802 21.268,14.245C21.521,13.689 21.678,13.069 21.738,12.387C21.813,11.703 21.824,11.024 21.772,10.35C21.699,9.409 21.539,8.616 21.291,7.972C21.044,7.327 20.736,6.821 20.369,6.454C20.014,6.071 19.612,5.806 19.163,5.657C18.728,5.507 18.271,5.45 17.794,5.487C17.274,5.528 16.839,5.653 16.488,5.864C16.136,6.061 15.85,6.294 15.631,6.566Z" style="fill:white;"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,59 +1,129 @@
# ignore: true
# documentation: https://docs.postiz.com/introduction
# slogan:
# tags:
# logo:
# port: 4200
# documentation: https://docs.postiz.com
# slogan: Social media scheduling tool.
# tags: post everywhere, social media, planning
# logo: svgs/postiz.svg
version: "3.8"
services:
postiz:
image: "ghcr.io/gitroomhq/postiz-app:latest"
container_name: postiz
restart: always
environment:
- SERVICE_FQDN_POSTIZ_4200
- MAIN_URL=${SERVICE_FQDN_POSTIZ}
- FRONTEND_URL=${SERVICE_FQDN_POSTIZ}
- NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZAPI_3000}
- JWT_SECRET=${SERVICE_REALBASE64_JWTSECRET}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-postiz}?schema=public
- REDIS_URL=redis://redis:6379
- BACKEND_INTERNAL_URL=http://localhost:3000/
- SERVICE_FQDN_POSTIZ_5000
- "MAIN_URL=${SERVICE_FQDN_POSTIZ}"
- "FRONTEND_URL=${SERVICE_FQDN_POSTIZ}"
- "NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZ}/api"
- "JWT_SECRET=${SERVICE_PASSWORD_JWTSECRET}"
- "DATABASE_URL=postgresql://postiz-user:postiz-password@postiz-postgres:5432/postiz-db-local"
- "REDIS_URL=redis://postiz-redis:6379"
- "BACKEND_INTERNAL_URL=http://localhost:3000"
- IS_GENERAL=true
- CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}
- CLOUDFLARE_ACCESS_KEY=${CLOUDFLARE_ACCESS_KEY}
- CLOUDFLARE_SECRET_ACCESS_KEY=${CLOUDFLARE_SECRET_ACCESS_KEY}
- CLOUDFLARE_BUCKETNAME=${CLOUDFLARE_BUCKETNAME}
- CLOUDFLARE_BUCKET_URL=${CLOUDFLARE_BUCKET_URL}
- CLOUDFLARE_REGION=${CLOUDFLARE_REGION}
- RESEND_API_KEY=${RESEND_API_KEY}
- EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS}
- EMAIL_FROM_NAME=${EMAIL_FROM_NAME}
- STORAGE_PROVIDER=local
- UPLOAD_DIRECTORY=/uploads
- NEXT_PUBLIC_UPLOAD_DIRECTORY=/uploads
- "X_API_KEY=${SERVICE_X_API}"
- "X_API_SECRET=${SERVICE_X_SECRET}"
- "REDDIT_CLIENT_ID=${SERVICE_REDDIT_API}"
- "REDDIT_CLIENT_SECRET=${SERVICE_REDDIT_SECRET}"
- "TIKTOK_CLIENT_ID=${SERVICE_TIKTOK_ID}"
- "TIKTOK_CLIENT_SECRET=${SERVICE_TIKTOK_SECRET}"
- "SLACK_ID=${SERVICE_SLACK_ID}"
- "SLACK_SECRET=${SERVICE_SLACK_SECRET}"
- "PINTEREST_CLIENT_ID=${SERVICE_PINTEREST_ID}"
- "PINTEREST_CLIENT_SECRET=${SERVICE_PINTEREST_SECRET}"
- "DRIBBLE_CLIENT_ID=${SERVICE_DRIBBLE_ID}"
- "DRIBBLE_CLIENT_SECRET=${SERVICE_DRIBBLE_SECRET}"
- "DISCORD_CLIENT_ID=${SERVICE_DISCORD_ID}"
- "DISCORD_CLIENT_SECRET=${SERVICE_DISCORD_SECRET}"
- "DISCORD_BOT_TOKEN_ID=${SERVICE_DISCORD_TOKEN}"
- "YOUTUBE_CLIENT_ID=${SERVICE_YOUTUBE_ID}"
- "YOUTUBE_CLIENT_SECRET=${SERVICE_YOUTUBE_SECRET}"
- "MASTODON_CLIENT_ID=${SERVICE_MASTODON_ID}"
- "MASTODON_CLIENT_SECRET=${SERVICE_MASTODON_SECRET}"
- "LINKEDIN_CLIENT_ID=${SERVICE_LINKEDIN_ID}"
- "LINKEDIN_CLIENT_SECRET=${SERVICE_LINKEDIN_SECRET}"
- "INSTAGRAM_APP_ID=${SERVICE_INSTAGRAM_ID}"
- "INSTAGRAM_APP_SECRET=${SERVICE_INSTAGRAM_SECRET}"
- "FACEBOOK_APP_ID=${SERVICE_FACEBOOK_ID}"
- "FACEBOOK_APP_SECRET=${SERVICE_FACEBOOK_SECRET}"
- "THREADS_APP_ID=${SERVICE_THREADS_ID}"
- "THREADS_APP_SECRET=${SERVICE_THREADS_SECRET}"
- "GITHUB_CLIENT_ID=${SERVICE_GITHUB_ID}"
- "GITHUB_CLIENT_SECRET=${SERVICE_GITHUB_SECRET}"
- "BEEHIIVE_API_KEY=${SERVICE_BEEHIIVE_KEY}"
- "BEEHIIVE_PUBLICATION_ID=${SERVICE_BEEHIIVE_PUBID}"
- "OPENAI_API_KEY=${SERVICE_OPENAI_KEY}"
volumes:
- "postiz-config:/config/"
- "postiz-uploads:/uploads/"
ports:
- "5000:5000"
networks:
- postiz-network
labels:
- traefik.enable=true
- "traefik.http.routers.postiz.rule=Host(your.url) && PathPrefix(/)"
- traefik.http.routers.postiz.entryPoints=http
- traefik.http.routers.postiz.tls=true
- traefik.http.routers.postiz.tls.certresolver=letsencrypt
- traefik.http.services.postiz.loadbalancer.server.port=5000
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- "postiz_config:/config"
postgres:
image: "postgres:latest"
- postiz-postgres
- postiz-redis
postiz-postgres:
image: "postgres:14.5"
container_name: postiz-postgres
restart: always
environment:
- POSTGRES_DB=${POSTGRES_DB:-postiz}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
- POSTGRES_PASSWORD=postiz-password
- POSTGRES_USER=postiz-user
- POSTGRES_DB=postiz-db-local
volumes:
- "pg-data:/var/lib/postgresql/data"
- "postgres-volume:/var/lib/postgresql/data"
ports:
- "5432:5432"
networks:
- postiz-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10
redis:
test:
- CMD
- pg_isready
- "-U"
- postiz-user
- "-d"
- postiz-db-local
interval: 10s
timeout: 3s
retries: 3
postiz-redis:
image: "redis:7.2"
volumes:
- "redis_data:/data"
container_name: postiz-redis
restart: always
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 20s
retries: 10
test:
- CMD
- redis-cli
- ping
interval: 10s
timeout: 3s
retries: 3
volumes:
- "postiz-redis-data:/data"
networks:
- postiz-network
volumes:
postgres-volume:
external: false
postiz-redis-data:
external: false
postiz-config:
external: false
postiz-uploads:
external: false
networks:
postiz-network:
external: false