Skip to content

Latest commit

 

History

97 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Penpot charm

CharmHub Badge Publish to edge Promote charm Discourse Status

A Juju charm for deploying and managing the Penpot open-source design tool for design and code collaboration in your systems.

This charm simplifies the configuration and maintenance of Penpot across a range of environments, allowing designers to create stunning designs and interactive prototypes, design systems at scale, and make their workflow easy and fast with ready-to-use code.

Get started

In this section, we will deploy the Penpot charm.

You’ll need a workstation, e.g., a laptop, with sufficient resources to launch a virtual machine with 4 CPUs, 8 GB RAM, and 50 GB disk space.

Set up

You can follow the tutorial to set up a test environment for Juju with LXD.

Deploy

From inside the virtual machine, deploy Penpot charm's dependencies using the juju deploy command.

juju deploy minio --config access-key=minioadmin --config secret-key=minioadmin
juju deploy postgresql-k8s --channel 14/stable --trust
juju deploy redis-k8s --channel latest/edge
juju deploy s3-integrator --config "endpoint=http://minio-endpoints.penpot-test.svc.cluster.local:9000" --config bucket=penpot
juju deploy nginx-ingress-integrator --trust --config service-hostname=penpot.local --config path-routes=/
juju deploy self-signed-certificates
juju integrate self-signed-certificates nginx-ingress-integrator

Configure minio to provide a S3 compatible storage for the Penpot charm.

export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
export AWS_ENDPOINT_URL=http://$(juju status --format=json | jq -r '.applications.minio.units."minio/0".address'):9000
aws s3 mb s3://penpot --endpoint-url $AWS_ENDPOINT_URL
juju run s3-integrator/0 sync-s3-credentials --string-args access-key=minioadmin secret-key=minioadmin

Deploy the Penpot charm and integrate the Penpot charm with all its dependencies.

juju deploy penpot --channel latest/edge
juju integrate penpot postgresql-k8s
juju integrate penpot redis-k8s
juju integrate penpot s3-integrator
juju integrate penpot nginx-ingress-integrator

Basic operations

When the Penpot charm has completed deployment and installation, you can access Penpot from a browser. First, we need to modify the /etc/hosts file to point the penpot.local domain to the IP address of the virtual machine. After that, we can access the Penpot instance in the browser using the address https://penpot.local. Note that https is required for Penpot to function. You may need to bypass the certificate security warning in the browser, as we are using a self-signed certificate.

Inside the virtual machine, run the following command to create a Penpot account, and use the returned credentials to log in with this account.

juju run penpot/0 create-profile --string-args email=example@example.com fullname="John Doe"

For additional configurations and actions available for the Penpot charm, refer to the charmcraft.yaml file.

Learn more

Project and community

About

penpot-operator - charm repository.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages