forked from gitroomhq/postiz-app
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request gitroomhq#229 from gitroomhq/docs-docker-and-stuff
doc: Docker, and various doc cleanup
- Loading branch information
Showing
15 changed files
with
330 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
--- | ||
title: Development Environment | ||
--- | ||
|
||
This is currently the recommended option to install Postiz in a supportable configuration. The docker images are in active and heavy development for now. | ||
|
||
## Tested configurations | ||
|
||
- MacOS | ||
- Linux (Fedora 40) | ||
|
||
Naturally you can use these instructions to setup a development environment on any platform, but there may not be much experience in the community to help you with any issues you may encounter. | ||
|
||
## Prerequisites | ||
|
||
This guide will ask you to install & configure several services exaplained below. | ||
|
||
### Prerequisite Cloud Services | ||
|
||
- **[Resend account](https://resend.com)** - for user activation and email notifications. | ||
- **[Cloudflare R2](https://cloudfalre.com)** - for uploads (optional, can use local machine), and storing account data. | ||
- **Social Media API details** - various API keys and secrets (more details later) for services you want to use; reddit, X, Instagram, etc.. | ||
|
||
### Prerequisite Local Services | ||
|
||
- **Node.js** - for running the code! (version 18+) | ||
- **PostgreSQL** - or any other SQL database (instructions beleow suggest Docker) | ||
- **Redis** - for handling worker queues (instructions below suggest Docker) | ||
|
||
We have some messages from users who are using Windows, which should work, but they are not tested well yet. | ||
|
||
## Installation Instructions | ||
|
||
### NodeJS (version 18+) | ||
|
||
A complete guide of how to install NodeJS can be found [here](https://nodejs.org/en/download/). | ||
|
||
### PostgreSQL (or any other SQL database) & Redis | ||
|
||
You can choose **Option A** to **Option B** to install the database. | ||
|
||
#### Option A) Postgres and Redis as Single containers | ||
|
||
You can install [Docker](https://www.docker.com/products/docker-desktop) and run: | ||
|
||
```bash Terminal | ||
docker run -e POSTGRES_USER=root -e POSTGRES_PASSWORD=your_password --name postgres -p 5432:5432 -d postgres | ||
docker run --name redis -p 6379:6379 -d redis | ||
``` | ||
|
||
#### Option B) Postgres and Redis as docker-compose | ||
|
||
Download the [docker-compose.yaml file here](https://raw.githubusercontent.com/gitroomhq/postiz-app/main/docker-compose.dev.yaml), | ||
or grab it from the repository in the next step. | ||
|
||
```bash Terminal | ||
docker compose -f "docker-compose.dev.yaml" up | ||
``` | ||
|
||
## Build Postiz | ||
|
||
<Steps> | ||
<Step title="Clone the repository"> | ||
```bash Terminal | ||
git clone https://github.com/gitroomhq/gitroom | ||
``` | ||
</Step> | ||
|
||
<Step title="Set environment variables"> | ||
Copy the `.env.example` file to `.env` and fill in the values | ||
|
||
```bash .env | ||
# 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" | ||
|
||
# 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" | ||
RESEND_API_KEY="Resend API KEY" | ||
UPLOAD_DIRECTORY="optional: your upload directory path if you host your files locally" | ||
NEXT_PUBLIC_UPLOAD_STATIC_DIRECTORY="optional: your upload directory slug if you host your files locally" | ||
CLOUDFLARE_ACCOUNT_ID="Cloudflare R2 Account ID" | ||
CLOUDFLARE_ACCESS_KEY="Cloudflare R2 Access Key" | ||
CLOUDFLARE_SECRET_ACCESS_KEY="Cloudflare R2 Secret Access Key" | ||
CLOUDFLARE_BUCKETNAME="Cloudflare R2 Bucket Name" | ||
CLOUDFLARE_BUCKET_URL="Cloudflare R2 Backet URL" | ||
|
||
# Developer Settings | ||
NX_ADD_PLUGINS=false | ||
IS_GENERAL="true" # required for now | ||
``` | ||
|
||
</Step> | ||
|
||
<Step title="Install the dependencies"> | ||
```bash Terminal | ||
npm install | ||
``` | ||
</Step> | ||
|
||
<Step title="Generate the prisma client and run the migrations"> | ||
```bash Terminal | ||
npm run prisma-db-push | ||
``` | ||
</Step> | ||
|
||
<Step title="Run the project"> | ||
```bash Terminal | ||
npm run dev | ||
``` | ||
</Step> | ||
</Steps> | ||
|
||
If everything is running successfully, open http://localhost:4200 in your browser! | ||
|
||
If everything is not running - you had errors in the steps above, please head over to our [support](/support) page. | ||
|
||
## Next Steps | ||
|
||
<CardGroup cols={2}> | ||
<Card title="How it works" icon="screwdriver-wrench" href="/howitworks"> | ||
Learn the architecture of the project | ||
</Card> | ||
<Card title="Email notifications" icon="envelope" href="/emails"> | ||
Set up email for notifications | ||
</Card> | ||
<Card title="GitHub" icon="code-branch" href="/github"> | ||
Set up github for authentication and sync | ||
</Card> | ||
<Card title="Providers" icon="linkedin" href="/providers/x/x"> | ||
Set up providers such as Linkedin, X and Reddit | ||
</Card> | ||
</CardGroup> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
--- | ||
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 | ||
|
||
```yaml | ||
services: | ||
postiz: | ||
image: ghcr.io/gitroomhq/postiz-app:latest | ||
container_name: postiz | ||
restart: always | ||
volumes: | ||
- ./config:/config/ # Should contain your .env file | ||
ports: | ||
- 4200:4200 | ||
- 3000:3000 | ||
networks: | ||
- postiz-network | ||
|
||
postiz-postgres: | ||
image: postgres:14.5 | ||
container_name: postiz-postgres | ||
restart: always | ||
environment: | ||
POSTGRES_PASSWORD: postiz-local-pwd | ||
POSTGRES_USER: postiz-local | ||
POSTGRES_DB: postiz-db-local | ||
volumes: | ||
- postgres-volume:/var/lib/postgresql/data | ||
ports: | ||
- 5432:5432 | ||
networks: | ||
- postiz-network | ||
postiz-pg-admin: | ||
image: dpage/pgadmin4 | ||
container_name: postiz-pg-admin | ||
restart: always | ||
ports: | ||
- 8081:80 | ||
environment: | ||
PGADMIN_DEFAULT_EMAIL: [email protected] | ||
PGADMIN_DEFAULT_PASSWORD: admin | ||
networks: | ||
- postiz-network | ||
postiz-redis: | ||
image: redis:7.2 | ||
container_name: postiz-redis | ||
restart: always | ||
ports: | ||
- 6379:6379 | ||
|
||
volumes: | ||
postgres-volume: | ||
external: false | ||
|
||
networks: | ||
postiz-network: | ||
external: false | ||
``` | ||
<DockerEnvvarApps /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
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 /> | ||
|
||
|
||
# Create the container on command line | ||
|
||
```bash | ||
docker create --name postiz -v ./config:/config -p 4200:4200 -p 3000:3000 ghcr.io/postiz/postiz:latest | ||
``` | ||
|
||
<DockerEnvvarApps /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
title: Helm | ||
--- | ||
|
||
import EarlyDoc from '/snippets/earlydoc.mdx'; | ||
import DockerDatabase from '/snippets/docker-database.mdx'; | ||
|
||
<EarlyDoc /> | ||
<DockerDatabase /> | ||
|
||
Postiz has a helm chart that is in very active development. You can find it here; | ||
|
||
https://github.com/gitroomhq/postiz-helmchart |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.