> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postiz.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker Compose

> Install Postiz using Docker Compose

<Note>
  Watch the Tutorial for docker-compose install: [https://m.youtube.com/watch?v=A6CjAmJOWvA\&t=5s](https://m.youtube.com/watch?v=A6CjAmJOWvA\&t=5s)
</Note>

<Warning>
  <strong>Warning:</strong> Please read this migration guide, on how to upgrade from v2.11.2 to v2.12.0+ for Temporal:
  [https://docs.postiz.com/installation/migration](https://docs.postiz.com/installation/migration)
</Warning>

## Docker Compose

This guide assumes that you have docker installed, with a reasonable amount of resources to run Postiz. This Docker Compose setup has been tested with;

* Virtual Machine, Ubuntu 24.04, 2Gb RAM, 2 vCPUs.

<Snippet file="installation-pre-reqs.mdx" />

### Configuration uses environment variables

The docker containers for Postiz are entirely configured with environment variables.

* **Option A** - environment variables in your `docker-compose.yml` file
* **Option B** - environment variables in a `postiz.env` file mounted in `/config` for the Postiz container only
* **Option C** - environment variables in a `.env` file next to your `docker-compose.yml` file (not recommended).

... or a mixture of the above options!

## Installation

<Steps>
  <Step title="Clone the Docker Compose repository">
    ```
    git clone https://github.com/gitroomhq/postiz-docker-compose
    ```
  </Step>

  <Step title="Configure your docker compose">
    Configure your docker compose variables
  </Step>

  <Step title="Run the docker-compose command">
    ```
    docker compose up
    ```
  </Step>

  <Step title="Wait for it to load">
    1. Access your frontend at: [http://localhost:4007](http://localhost:4007) (unless changed in variables)
    2. Visualize and monitor your workflows with temporal at: [http://localhost:8080](http://localhost:8080)
  </Step>
</Steps>

There is a [configuration reference](/configuration/reference) page with a list
of configuration settings.

## The `docker-compose.yaml` file

The full, up-to-date Docker Compose file is maintained in the
[gitroomhq/postiz-docker-compose](https://github.com/gitroomhq/postiz-docker-compose)
repository. Cloning that repository (see the steps above) gives you the
`docker-compose.yaml` together with the `dynamicconfig` directory that the
Temporal service mounts, so there is nothing to copy by hand.

<Note>
  Always pull the file from the repository rather than copying a snapshot — the
  services, images, and environment variables change between releases, and the
  repository is the canonical source.
</Note>

## How to use docker compose

From the cloned repository directory, run `docker compose up` to start the services.

<Warning>
  **Note** When you change variables, you must run `docker compose down` and
  then `docker compose up` to recreate these containers with these updated
  variables.
</Warning>

Look through the logs for startup errors, and if you have problems, check out the [support](/support) page.

If everything looks good, then you can access the Postiz web interface at [https://postiz.your-server.com](https://postiz.your-server.com)

<Snippet file="docker-envvar-apps.mdx" />

## Next Steps

<CardGroup cols={2}>
  <Card title="Architecture" icon="diagram-project" href="/howitworks">
    Learn the architecture of the project
  </Card>

  <Card title="Providers" icon="plug" href="/providers/overview">
    Set up providers such as LinkedIn, X and Reddit
  </Card>
</CardGroup>
