From 9d1f5e8f1c814821ca1d7190831997079b58e827 Mon Sep 17 00:00:00 2001 From: James Turland Date: Sat, 8 Mar 2025 00:19:58 +0000 Subject: [PATCH] postiz --- Postiz/.env | 35 ++++++++++++ Postiz/docker-compose.yaml | 107 +++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 Postiz/.env create mode 100644 Postiz/docker-compose.yaml diff --git a/Postiz/.env b/Postiz/.env new file mode 100644 index 0000000..0dd716f --- /dev/null +++ b/Postiz/.env @@ -0,0 +1,35 @@ +############################################################################################################### +############################################################################################################### +# GENERAL +############################################################################################################### +############################################################################################################### +# Docker machine username +HOST_USER=ubuntu +# Where container data will be stored (note user above) +WORKING_DIR=/home/${HOST_USER}/docker +# Your domain, including TLD (e.g., jimgarage.co.uk - not just jimsgarage) +DOMAIN=jimsgarage.co.uk + +############################################################################################################### +############################################################################################################### +# OPEN AI CREDENTIALS +############################################################################################################### +############################################################################################################### +# Add key to integrate with OpenAI - generate images and text etc +OPENAI_API_KEY="XXXXXXXXXXXXXXXXXXX" + +############################################################################################################### +############################################################################################################### +# SOCIAL MEDIA CREDENTIALS +############################################################################################################### +############################################################################################################### +X_API_KEY="XXXXXXXXXXXXXXXXXXXXXXXX" +X_API_SECRET="XXXXXXXXXXXXXXXXXXXXXXXXX" + +# Must add avatar to bot otherwise you will receive a 404 +DISCORD_CLIENT_ID="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" +DISCORD_CLIENT_SECRET="XXXXXXXXXXXXXXXXXXXX" +DISCORD_BOT_TOKEN_ID="XXXXXXXXXXXXXXXXXXX" + +YOUTUBE_CLIENT_ID="XXXXXXXXXXXXXXXXX" +YOUTUBE_CLIENT_SECRET="XXXXXXXXXXXXXX" \ No newline at end of file diff --git a/Postiz/docker-compose.yaml b/Postiz/docker-compose.yaml new file mode 100644 index 0000000..2175499 --- /dev/null +++ b/Postiz/docker-compose.yaml @@ -0,0 +1,107 @@ +services: + postiz: + image: ghcr.io/gitroomhq/postiz-app:latest + container_name: postiz + restart: always + env_file: + - .env + environment: + # You must change these. Replace `postiz.your-server.com` with your DNS name - this needs to be exactly the URL you're accessing Postiz on. + # Be sure to add the domain to your local domain resolver e.g., Pi-Hole + MAIN_URL: "https://postiz.${DOMAIN}" + FRONTEND_URL: "https://postiz.${DOMAIN}" + NEXT_PUBLIC_BACKEND_URL: "https://postiz.${DOMAIN}/api" + JWT_SECRET: "sdfjhkj34sdkfhsdkfhsdkjfhsdf" + + # These defaults are probably fine, but if you change your user/password, update it in the + # postiz-postgres or postiz-redis services below. + 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" # Required for self-hosting. + # The container images are pre-configured to use /uploads for file storage. + # You probably should not change this unless you have a really good reason! + STORAGE_PROVIDER: "local" + UPLOAD_DIRECTORY: "/uploads" + NEXT_PUBLIC_UPLOAD_DIRECTORY: "/uploads" + volumes: + - ${WORKING_DIR}/postiz/config:/config/ + - ${WORKING_DIR}/postiz/uploads:/uploads/ + # if you prefer volumes + # - postiz-config:/config/ + # - postiz-uploads:/uploads/ + # ports: + # - 5000:5000 + networks: + - proxy + - postiz-network + labels: + - "traefik.enable=true" + - "traefik.docker.network=proxy" + - "traefik.http.routers.postiz.entrypoints=http" + - "traefik.http.routers.postiz.rule=Host(`postiz.${DOMAIN}`)" + - "traefik.http.middlewares.postiz-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.postiz.middlewares=postiz-https-redirect" + - "traefik.http.routers.postiz-secure.entrypoints=https" + - "traefik.http.routers.postiz-secure.rule=Host(`postiz.${DOMAIN}`)" + - "traefik.http.routers.postiz-secure.tls=true" + - "traefik.http.routers.postiz-secure.tls.certresolver=cloudflare" + - "traefik.http.routers.postiz-secure.service=postiz" + - "traefik.http.services.postiz.loadbalancer.server.port=5000" + depends_on: + postiz-postgres: + condition: service_healthy + postiz-redis: + condition: service_healthy + + postiz-postgres: + image: postgres:17-alpine + container_name: postiz-postgres + restart: always + environment: + POSTGRES_PASSWORD: postiz-password + POSTGRES_USER: postiz-user + POSTGRES_DB: postiz-db-local + volumes: + - ${WORKING_DIR}/postiz/postgres:/var/lib/postgresql/data + # if you prefer volumes + # - postgres-volume:/var/lib/postgresql/data + networks: + - postiz-network + healthcheck: + test: pg_isready -U postiz-user -d postiz-db-local + interval: 10s + timeout: 3s + retries: 3 + postiz-redis: + image: redis:7.2 + container_name: postiz-redis + restart: always + healthcheck: + test: redis-cli ping + interval: 10s + timeout: 3s + retries: 3 + volumes: + - ${WORKING_DIR}/postiz/redis:/data + # if you prefer volumes + # - postiz-redis-data:/data + networks: + - postiz-network + +# if you prefer volumes +# volumes: +# postgres-volume: +# external: false +# postiz-redis-data: +# external: false +# postiz-config: +# external: false +# postiz-uploads: +# external: false + +networks: + proxy: + external: true + postiz-network: + external: false \ No newline at end of file