--- title: 1-Click Docker Compose icon: TbBrandDocker image: /images/user-guide/objects/objects.png --- ## Option 1: One-line script Install the project with the command below. It will install the latest stable version. ```bash bash <(curl -sL https://git.new/20) ``` If you want to install a specific version, you can do so by adding the version number. `VERSION=x.y.z BRANCH=branch-name bash <(curl -sL https://git.new/20)` ## Option 2: Manual steps 1. Copy the [.env.example](https://github.com/twentyhq/twenty/blob/main/packages/twenty-docker/.env.example) into a `.env` in the same directory where your `docker-compose.yml` file will be 2. Run the command `openssl rand -base64 32` four times, make note of the string for each 3. In your .env file, replace the three "replace_me_with_a_random_string_access" with the four random strings you just generated. ``` ACCESS_TOKEN_SECRET=replace_me_with_a_random_string_access LOGIN_TOKEN_SECRET=replace_me_with_a_random_string_login REFRESH_TOKEN_SECRET=replace_me_with_a_random_string_refresh FILE_TOKEN_SECRET=replace_me_with_a_random_string_refresh ``` 4. Copy the [docker-compose.yml](https://github.com/twentyhq/twenty/blob/main/packages/twenty-docker/docker-compose.yml) in the same directory as your `.env` file. 5. Run the command `docker-compose up -d` 6. Go to http://localhost:3000 and see your docker instance. ## Troubleshooting #### Not able to login If you encounter errors, (not able to log into the application after inputting an email) after the inital setup, try running the following commands and see if that solves your issue. ``` docker exec -it twenty-server-1 yarn docker exec -it twenty-server-1 npx nx database:reset ``` #### Cannot connect to server, running behind a reverse proxy Complete step three and four with: 3. Update `SERVER_URL=https://` in your `.env` #### Persistence By default the docker-compose will create volumes for the Database and local storage of the Server. Note that the containers will not persist data if your server is not configured to be stateful (for example Heroku). You probably want to configure a special stateful resource for this purpose.