feat: Migrations inside containers, and better default .env file.
This commit is contained in:
parent
a4991b2b10
commit
6224634dcb
90
.env.example
90
.env.example
|
|
@ -1,38 +1,44 @@
|
|||
DATABASE_URL=""
|
||||
REDIS_URL=""
|
||||
UPLOAD_DIRECTORY=""
|
||||
NEXT_PUBLIC_UPLOAD_STATIC_DIRECTORY=""
|
||||
STRIPE_PUBLISHABLE_KEY=""
|
||||
STRIPE_SECRET_KEY=""
|
||||
STRIPE_SIGNING_KEY=""
|
||||
JWT_SECRET=""
|
||||
FRONTEND_URL=""
|
||||
MAIN_URL=""
|
||||
NEXT_PUBLIC_BACKEND_URL=""
|
||||
BACKEND_INTERNAL_URL=""
|
||||
X_API_KEY=""
|
||||
X_API_SECRET=""
|
||||
X_CLIENT=""
|
||||
X_SECRET=""
|
||||
LINKEDIN_CLIENT_ID=""
|
||||
LINKEDIN_CLIENT_SECRET=""
|
||||
REDDIT_CLIENT_ID=""
|
||||
REDDIT_CLIENT_SECRET=""
|
||||
GITHUB_CLIENT_ID=""
|
||||
GITHUB_CLIENT_SECRET=""
|
||||
RESEND_API_KEY=""
|
||||
# Required Settings
|
||||
DATABASE_URL="postgresql://postiz-user:postiz-password@localhost:5432/postiz-db-local"
|
||||
REDIS_URL="redis://localhost:6379"
|
||||
JWT_SECRET="random string for your JWT secret, make it long"
|
||||
FRONTEND_URL="http://localhost:4200"
|
||||
NEXT_PUBLIC_BACKEND_URL="http://localhost:3000"
|
||||
BACKEND_INTERNAL_URL="http://localhost:3000"
|
||||
|
||||
# Optional. Your upload directory path if you host your files locally.
|
||||
UPLOAD_DIRECTORY="/opt/postiz/uploads/"
|
||||
|
||||
# Optional: your upload directory slug if you host your files locally.
|
||||
NEXT_PUBLIC_UPLOAD_STATIC_DIRECTORY="/opt/postiz/uploads/"
|
||||
|
||||
## This is a dummy key, you must create your own from Resend.
|
||||
## If this variable exists, user activation is required.
|
||||
## If it is commented out, users are activated automatically.
|
||||
#RESEND_API_KEY="RzeTwHijvxvPUerScFcenUZUALuQJzSaGSMJ"
|
||||
#EMAIL_FROM_ADDRESS=""
|
||||
#EMAIL_FROM_NAME=""
|
||||
|
||||
## These are dummy values, you must create your own from Cloudflare.
|
||||
## Remember to set your public internet IP address in the allow-list for the API token.
|
||||
CLOUDFLARE_ACCOUNT_ID="QhcMSXQyPuMCRpSQcSYdEuTYgHeCXHbu"
|
||||
CLOUDFLARE_ACCESS_KEY="dcfCMSuFEeCNfvByUureMZEfxWJmDqZe"
|
||||
CLOUDFLARE_SECRET_ACCESS_KEY="zTTMXBmtyLPwHEdpACGHgDgzRTNpTJewiNriLnUS"
|
||||
CLOUDFLARE_BUCKETNAME="postiz"
|
||||
CLOUDFLARE_BUCKET_URL="https://QhcMSXQyPuMCRpSQcSYdEuTYgHeCXHbu.r2.cloudflarestorage.com/"
|
||||
CLOUDFLARE_REGION="auto"
|
||||
|
||||
# Social Media API Settings
|
||||
X_API_KEY="Twitter API key for normal oAuth not oAuth2"
|
||||
X_API_SECRET="Twitter API secret for normal oAuth not oAuth2"
|
||||
LINKEDIN_CLIENT_ID="Linkedin Client ID"
|
||||
LINKEDIN_CLIENT_SECRET="Linkedin Client Secret"
|
||||
REDDIT_CLIENT_ID="Reddit Client ID"
|
||||
REDDIT_CLIENT_SECRET="Linkedin Client Secret"
|
||||
GITHUB_CLIENT_ID="GitHub Client ID"
|
||||
GITHUB_CLIENT_SECRET="GitHub Client Secret"
|
||||
BEEHIIVE_API_KEY=""
|
||||
BEEHIIVE_PUBLICATION_ID=""
|
||||
NX_ADD_PLUGINS=false
|
||||
CLOUDFLARE_ACCOUNT_ID=""
|
||||
CLOUDFLARE_ACCESS_KEY=""
|
||||
CLOUDFLARE_SECRET_ACCESS_KEY=""
|
||||
CLOUDFLARE_BUCKETNAME=""
|
||||
CLOUDFLARE_BUCKET_URL=""
|
||||
CLOUDFLARE_REGION=""
|
||||
FEE_AMOUNT=0.05
|
||||
OPENAI_API_KEY=""
|
||||
NEXT_PUBLIC_DISCORD_SUPPORT=""
|
||||
THREADS_APP_ID=""
|
||||
THREADS_APP_SECRET=""
|
||||
FACEBOOK_APP_ID=""
|
||||
|
|
@ -45,7 +51,19 @@ PINTEREST_CLIENT_ID=""
|
|||
PINTEREST_CLIENT_SECRET=""
|
||||
DRIBBBLE_CLIENT_ID=""
|
||||
DRIBBBLE_CLIENT_SECRET=""
|
||||
IS_GENERAL="true"
|
||||
EMAIL_FROM_ADDRESS=""
|
||||
EMAIL_FROM_NAME=""
|
||||
|
||||
|
||||
# Misc Settings
|
||||
OPENAI_API_KEY=""
|
||||
NEXT_PUBLIC_DISCORD_SUPPORT=""
|
||||
NEXT_PUBLIC_POLOTNO="Polotno key for the gallery"
|
||||
|
||||
# Payment settings
|
||||
FEE_AMOUNT=0.05
|
||||
STRIPE_PUBLISHABLE_KEY=""
|
||||
STRIPE_SECRET_KEY=""
|
||||
STRIPE_SIGNING_KEY=""
|
||||
|
||||
# Developer Settings
|
||||
NX_ADD_PLUGINS=false
|
||||
IS_GENERAL="true" # required for now
|
||||
|
|
|
|||
|
|
@ -3,11 +3,9 @@ title: Docker Compose
|
|||
---
|
||||
|
||||
import EarlyDoc from '/snippets/earlydoc.mdx';
|
||||
import DockerDatabase from '/snippets/docker-database.mdx';
|
||||
import DockerEnvvarApps from '/snippets/docker-envvar-apps.mdx';
|
||||
|
||||
<EarlyDoc />
|
||||
<DockerDatabase />
|
||||
|
||||
# Example `docker-compose.yml` file
|
||||
|
||||
|
|
|
|||
|
|
@ -3,18 +3,25 @@ title: Docker
|
|||
---
|
||||
|
||||
import EarlyDoc from '/snippets/earlydoc.mdx';
|
||||
import DockerDatabase from '/snippets/docker-database.mdx';
|
||||
import DockerEnvvarApps from '/snippets/docker-envvar-apps.mdx';
|
||||
|
||||
<EarlyDoc />
|
||||
|
||||
<DockerDatabase />
|
||||
# Set environment variables
|
||||
|
||||
Postiz configuration is entirely via environment variables for now. You might be used to setting environment variables when starting containers,
|
||||
however postiz needs a LOT of environment variables, so setting these on command line or in a docker-compose is probably not practical for long
|
||||
term maintainability.
|
||||
|
||||
It is recommended to use a `.env` file, which the Postiz containers look for in /config. Docker will automatically create this file for you on a
|
||||
docker volume the first time you start up Postiz.
|
||||
|
||||
The default .env file can be found here; [example .env file](https://raw.githubusercontent.com/gitroomhq/postiz-app/main/.env.example)
|
||||
|
||||
# Create the container on command line
|
||||
|
||||
```bash
|
||||
docker create --name postiz -v ./config:/config -p 4200:4200 -p 3000:3000 ghcr.io/postiz/postiz-app:latest
|
||||
docker create --name postiz -v ./config:/config -p 4200:4200 -p 3000:3000 ghcr.io/gitroomhq/postiz-app:latest
|
||||
```
|
||||
|
||||
<DockerEnvvarApps />
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
<Warning>
|
||||
The container images do not yet provide automatic database "installation"
|
||||
(migrations). This must be done manually outside of the docker containers for now.
|
||||
|
||||
This is being worked on with a high priority.
|
||||
</Warning>
|
||||
|
|
@ -15,6 +15,9 @@ if [[ "$POSTIZ_APPS" -eq "" ]]; then
|
|||
POSTIZ_APPS="frontend workers cron backend"
|
||||
fi
|
||||
|
||||
echo "Running database migrations"
|
||||
npm run prisma-db-push
|
||||
|
||||
mkdir -p /etc/supervisor.d/
|
||||
|
||||
if [[ "$POSTIZ_APPS" == *"frontend"* ]]; then
|
||||
|
|
|
|||
Loading…
Reference in New Issue