feat(penpot): init Penpot
This commit is contained in:
parent
b9f9b8d106
commit
58f428285e
12 changed files with 246 additions and 1 deletions
|
@ -142,7 +142,7 @@ Navigate to `http://localhost:9000` in your browser.
|
|||
|
||||
I'm working on new quadlets every day. This is a list of all of the containers
|
||||
that I intend to add to this repository. It is still growing, and I welcome
|
||||
[pull requests](https://github.com/redbeardymcgee/podbox/pulls).
|
||||
[pull requests](https://git.mcgee.red/redbeardymcgee/podbox/pulls).
|
||||
|
||||
- [x] [Actual](https://actualbudget.github.io/docs/)
|
||||
- [x] [AdGuard](https://adguard.com)
|
||||
|
@ -226,6 +226,7 @@ that I intend to add to this repository. It is still growing, and I welcome
|
|||
- [x] [Snowflake](https://snowflake.torproject.org/)
|
||||
- [ ] [solidtime](https://docs.solidtime.io/self-hosting/intro)
|
||||
- [x] [Sonarr](https://sonarr.tv)
|
||||
- [x] [Speedtest Tracker](https://speedtest-tracker.dev)
|
||||
- [x] [Stirling PDF](https://stirlingpdf.io)
|
||||
- [x] [syslog-ng](https://syslog-ng.github.io/)
|
||||
- [x] [Tandoor](https://github.com/TandoorRecipes/recipes)
|
||||
|
|
27
quadlets/penpot/penpot-backend.container
Normal file
27
quadlets/penpot/penpot-backend.container
Normal file
|
@ -0,0 +1,27 @@
|
|||
[Unit]
|
||||
Description=Penpot backend
|
||||
WantedBy=penpot.service
|
||||
Requires=penpot-postgres.service
|
||||
Requires=penpot-redis.service
|
||||
After=penpot-postgres.service
|
||||
After=penpot-redis.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/penpotapp/backend
|
||||
ContainerName=penpot-backend
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot-backend
|
||||
|
||||
Volume=penpot-assets:/opt/data/assets
|
||||
|
||||
EnvironmentFile=penpot-backend.env
|
||||
EnvironmentFile=penpot.env
|
68
quadlets/penpot/penpot-backend.env
Normal file
68
quadlets/penpot/penpot-backend.env
Normal file
|
@ -0,0 +1,68 @@
|
|||
## Penpot SECRET KEY. It serves as a master key from which other keys for subsystems
|
||||
## (eg http sessions, or invitations) are derived.
|
||||
##
|
||||
## If you leave it commented, all created sessions and invitations will
|
||||
## become invalid on container restart.
|
||||
##
|
||||
## If you going to uncomment this, we recommend to use a trully randomly generated
|
||||
## 512 bits base64 encoded string here. You can generate one with:
|
||||
##
|
||||
## python3 -c "import secrets; print(secrets.token_urlsafe(64))"
|
||||
|
||||
# PENPOT_SECRET_KEY=my-insecure-key
|
||||
|
||||
## The PREPL host. Mainly used for external programatic access to penpot backend
|
||||
## (example=admin). By default it will listen on `localhost` but if you are going to use
|
||||
## the `admin`, you will need to uncomment this and set the host to `0.0.0.0`.
|
||||
|
||||
PENPOT_PREPL_HOST=0.0.0.0
|
||||
|
||||
## Database connection parameters. Don't touch them unless you are using custom
|
||||
## postgresql connection parameters.
|
||||
|
||||
PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
|
||||
PENPOT_DATABASE_USERNAME=penpot
|
||||
PENPOT_DATABASE_PASSWORD=penpot
|
||||
|
||||
## Redis is used for the websockets notifications. Don't touch unless the redis
|
||||
## container has different parameters or different name.
|
||||
|
||||
PENPOT_REDIS_URI=redis://penpot-redis/0
|
||||
|
||||
## Default configuration for assets storage=using filesystem based with all files
|
||||
## stored in a docker volume.
|
||||
|
||||
PENPOT_ASSETS_STORAGE_BACKEND=assets-fs
|
||||
PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets
|
||||
|
||||
## Also can be configured to to use a S3 compatible storage
|
||||
## service like MiniIO. Look below for minio service setup.
|
||||
|
||||
# AWS_ACCESS_KEY_ID=<KEY_ID>
|
||||
# AWS_SECRET_ACCESS_KEY=<ACCESS_KEY>
|
||||
# PENPOT_ASSETS_STORAGE_BACKEND=assets-s3
|
||||
# PENPOT_STORAGE_ASSETS_S3_ENDPOINT=http://penpot-minio:9000
|
||||
# PENPOT_STORAGE_ASSETS_S3_BUCKET=<BUKET_NAME>
|
||||
|
||||
## Telemetry. When enabled, a periodical process will send anonymous data about this
|
||||
## instance. Telemetry data will enable us to learn how the application is used,
|
||||
## based on real scenarios. If you want to help us, please leave it enabled. You can
|
||||
## audit what data we send with the code available on github.
|
||||
|
||||
PENPOT_TELEMETRY_ENABLED=true
|
||||
PENPOT_TELEMETRY_REFERER=compose
|
||||
|
||||
## Example SMTP/Email configuration. By default, emails are sent to the mailcatch
|
||||
## service, but for production usage it is recommended to setup a real SMTP
|
||||
## provider. Emails are used to confirm user registrations & invitations. Look below
|
||||
## how the mailcatch service is configured.
|
||||
|
||||
PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com
|
||||
PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com
|
||||
PENPOT_SMTP_HOST=penpot-mailcatch
|
||||
PENPOT_SMTP_PORT=1025
|
||||
PENPOT_SMTP_USERNAME=
|
||||
PENPOT_SMTP_PASSWORD=
|
||||
PENPOT_SMTP_TLS=false
|
||||
PENPOT_SMTP_SSL=false
|
||||
|
22
quadlets/penpot/penpot-exporter.container
Normal file
22
quadlets/penpot/penpot-exporter.container
Normal file
|
@ -0,0 +1,22 @@
|
|||
[Unit]
|
||||
Description=Penpot exporter
|
||||
Requires=penpot-redis.service
|
||||
After=penpot-redis.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/penpotapp/exporter
|
||||
ContainerName=penpot-exporter
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot-exporter
|
||||
|
||||
EnvironmentFile=penpot.env
|
||||
Environment=PENPOT_REDIS_URI=redis://penpot-redis/0
|
19
quadlets/penpot/penpot-mailcatch.container
Normal file
19
quadlets/penpot/penpot-mailcatch.container
Normal file
|
@ -0,0 +1,19 @@
|
|||
[Unit]
|
||||
Description=Penpot mailcatch
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/sj26/mailcatcher
|
||||
ContainerName=penpot-mailcatcher
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot-mailcatcher
|
||||
PublishPort=1025:1025
|
||||
PublishPort=1080:1080
|
26
quadlets/penpot/penpot-minio.container
Normal file
26
quadlets/penpot/penpot-minio.container
Normal file
|
@ -0,0 +1,26 @@
|
|||
[Unit]
|
||||
Description=Penpot MinIO
|
||||
WantedBy=penpot-backend.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/minio/minio
|
||||
ContainerName=penpot-minio
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot-minio
|
||||
PublishPort=9000:9000
|
||||
PublishPort=9001:9001
|
||||
|
||||
Volume=penpot-minio:/mnt/data
|
||||
|
||||
Environment=MINIO_ROOT_USER=minioadmin
|
||||
|
||||
Secret=penpot-minio-root-password,type=env,target=MINIO_ROOT_PASSWORD
|
25
quadlets/penpot/penpot-postgres.container
Normal file
25
quadlets/penpot/penpot-postgres.container
Normal file
|
@ -0,0 +1,25 @@
|
|||
[Unit]
|
||||
Description=Penpot postgres
|
||||
WantedBy=penpot-backend.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/postgres:15
|
||||
ContainerName=penpot-postgres
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot-postgres
|
||||
|
||||
Volume=penpot-postgres:/var/lib/postgresql/data
|
||||
|
||||
Environment=POSTGRES_INITDB_ARGS=--data-checksums
|
||||
Environment=POSTGRES_DB=penpot
|
||||
Environment=POSTGRES_USER=penpot
|
||||
Environment=POSTGRES_PASSWORD=penpot
|
18
quadlets/penpot/penpot-redis.container
Normal file
18
quadlets/penpot/penpot-redis.container
Normal file
|
@ -0,0 +1,18 @@
|
|||
[Unit]
|
||||
Description=Penpot redis
|
||||
WantedBy=penpot-backend.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/redis:7.2
|
||||
ContainerName=penpot-redis
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot-redis
|
26
quadlets/penpot/penpot.container
Normal file
26
quadlets/penpot/penpot.container
Normal file
|
@ -0,0 +1,26 @@
|
|||
[Unit]
|
||||
Description=Penpot
|
||||
Requires=penpot-backend.service
|
||||
Requires=penpot-exporter.service
|
||||
After=penpot-backend.service
|
||||
After=penpot-exporter.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/penpotapp/frontend
|
||||
ContainerName=penpot
|
||||
AutoUpdate=registry
|
||||
|
||||
Network=penpot.network
|
||||
HostName=penpot
|
||||
PublishPort=9001:8080
|
||||
|
||||
Volume=penpot-assets:/opt/data/assets
|
||||
|
||||
EnvironmentFile=penpot.env
|
4
quadlets/penpot/penpot.env
Normal file
4
quadlets/penpot/penpot.env
Normal file
|
@ -0,0 +1,4 @@
|
|||
PENPOT_FLAGS=disable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies
|
||||
PENPOT_PUBLIC_URI=https://penpot.example.com
|
||||
PENPOT_HTTP_SERVER_MAX_BODY_SIZE=31457280
|
||||
PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE=367001600
|
2
quadlets/penpot/penpot.network
Normal file
2
quadlets/penpot/penpot.network
Normal file
|
@ -0,0 +1,2 @@
|
|||
[Network]
|
||||
|
7
quadlets/penpot/penpot.volume
Normal file
7
quadlets/penpot/penpot.volume
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Volume]
|
||||
VolumeName=penpot-postgres
|
||||
VolumeName=penpot-assets
|
||||
#VolumeName=penpot-traefik
|
||||
#VolumeName=penpot-minio
|
||||
|
||||
|
Loading…
Add table
Reference in a new issue