Penpot-backend, verified and packaged by Elestio
3.0K
Penpot is the first Open Source design and prototyping platform for product teams.
Deploy a fully managed Penpot on elest.io if you are interested in an open source all-in-one devops platform with the ability to manage git repositories, manage issues, and run continuous integrations.
You can deploy it easily with the following command:
git clone https://github.com/elestio-examples/penpot.git
Copy the .env file from tests folder to the project directory
cp ./tests/.env ./.env
Edit the .env file with your own values.
Create data folders with correct permissions
Run the project with the following command
docker-compose up -d
You can access the Web UI at: http://your-domain:8080
Here are some example snippets to help you get started creating a container.
version: "3.5"
services:
penpot-frontend:
image: "elestio4test/penpot-frontend:${SOFTWARE_VERSION_TAG}"
restart: always
ports:
- 172.17.0.1:8080:80
volumes:
- ./penpot_assets_data:/opt/data
env_file:
- .env
depends_on:
- penpot-backend
- penpot-exporter
penpot-backend:
image: "elestio4test/penpot-backend:${SOFTWARE_VERSION_TAG}"
restart: always
volumes:
- ./penpot_assets_data:/opt/data
depends_on:
- penpot-postgres
- penpot-redis
env_file:
- .env
penpot-exporter:
image: "elestio4test/penpot-exporter:${SOFTWARE_VERSION_TAG}"
restart: always
environment:
- PENPOT_DOMAIN_WHITE_LIST=${DOMAIN}
- PENPOT_REDIS_URI=redis://penpot-redis/0
# Don't touch it; this uses internal docker network to
# communicate with the frontend.
- PENPOT_PUBLIC_URI=http://penpot-frontend
penpot-postgres:
image: "elestio/postgres:15"
restart: always
stop_signal: SIGINT
environment:
- POSTGRES_INITDB_ARGS=--data-checksums
- POSTGRES_DB=penpot
- POSTGRES_USER=penpot
- POSTGRES_PASSWORD=${ADMIN_PASSWORD}
volumes:
- ./penpot_postgres_data:/var/lib/postgresql/data
ports:
- 172.17.0.1:30263:5432
penpot-redis:
image: elestio/redis:7.0
restart: always
pgadmin4:
image: dpage/pgadmin4:latest
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: ${ADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${ADMIN_PASSWORD}
PGADMIN_LISTEN_PORT: 8080
ports:
- "172.17.0.1:56590:8080"
volumes:
- ./servers.json:/pgadmin4/servers.json
| Variable | Value (example) |
|---|---|
| SOFTWARE_VERSION_TAG | latest |
| PAPERLESS_SECRET_KEY | your_secret |
| ADMIN_EMAIL | [email protected] |
| ADMIN_PASSWORD | password |
| PAPERLESS_URL | http://url |
The Elestio Penpot Docker image sends the container logs to stdout. To view the logs, you can use the following command:
docker-compose logs -f
To stop the stack you can use the following command:
docker-compose down
To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.
Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:
zip -r myarchive.zip .
Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:
unzip myarchive.zip -d /path/to/original/folder
Starting Your Stack Once your backup is complete, you can start your stack again with the following command:
docker-compose up -d
That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.
Content type
Image
Digest
sha256:a27274ccf…
Size
503.5 MB
Last updated
over 2 years ago
docker pull elestio4test/penpot-backend