move penpot to server
This commit is contained in:
parent
f9a4610fec
commit
bd26b271ba
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/zsh
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
# remove unneeded
|
# remove unneeded
|
||||||
|
@ -20,7 +20,7 @@ sudo apt upgrade -y
|
||||||
sudo apt install -y \
|
sudo apt install -y \
|
||||||
zsh curl wget git \
|
zsh curl wget git \
|
||||||
g++ make clang build-essential \
|
g++ make clang build-essential \
|
||||||
nano ffmpeg lynx \
|
nano ffmpeg lynx feh \
|
||||||
imagemagick graphicsmagick ghostscript \
|
imagemagick graphicsmagick ghostscript \
|
||||||
jpegoptim pngcrush pngquant \
|
jpegoptim pngcrush pngquant \
|
||||||
usrmerge net-tools rdfind ripgrep
|
usrmerge net-tools rdfind ripgrep
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
mkdir -p /Forks/penpot/
|
|
||||||
cd /Forks/penpot/
|
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
|
|
||||||
|
|
||||||
docker-compose \
|
|
||||||
-p penpot \
|
|
||||||
-f docker-compose.yaml \
|
|
||||||
up -d
|
|
|
@ -74,8 +74,8 @@ TfrmMaskInputDlg_Width=331
|
||||||
Screen_PixelsPerInch=92
|
Screen_PixelsPerInch=92
|
||||||
|
|
||||||
[TfrmOptions(3840x2160)]
|
[TfrmOptions(3840x2160)]
|
||||||
TfrmOptions_Height=2160
|
TfrmOptions_Height=2056
|
||||||
TfrmOptions_Left=1920
|
TfrmOptions_Left=1760
|
||||||
TfrmOptions_Top=0
|
TfrmOptions_Top=0
|
||||||
TfrmOptions_Width=1920
|
TfrmOptions_Width=1920
|
||||||
TfrmOptions_WindowState=wsNormal
|
TfrmOptions_WindowState=wsNormal
|
||||||
|
|
|
@ -92,7 +92,7 @@ bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
# workspaces (numbers row)
|
# workspaces (numbers row)
|
||||||
set $w__1 "100: web"
|
set $w__1 "100: web"
|
||||||
bindsym $Meta+1 workspace $w__1; exec [ $(ps -A | grep vivaldi | wc -l) = 0 ] && $(which vivaldi) -s
|
bindsym $Meta+1 workspace $w__1; exec [ $(wmctrl -l | grep 'Mozilla Firefox' | wc -l) = 0 ] && $(which firefox)
|
||||||
|
|
||||||
set $w__2 "200: files"
|
set $w__2 "200: files"
|
||||||
bindsym $Meta+2 workspace $w__2; exec [ $(ps -A | grep doublecmd | wc -l) = 0 ] && $(which doublecmd)
|
bindsym $Meta+2 workspace $w__2; exec [ $(ps -A | grep doublecmd | wc -l) = 0 ] && $(which doublecmd)
|
||||||
|
@ -153,7 +153,7 @@ assign [class="sublime_merge"] $w__KP_5
|
||||||
for_window [class="sublime_merge$"] move container to workspace $w__KP_5
|
for_window [class="sublime_merge$"] move container to workspace $w__KP_5
|
||||||
|
|
||||||
set $w__KP_6 "KP_6: webb"
|
set $w__KP_6 "KP_6: webb"
|
||||||
bindsym $Meta+KP_6 workspace $w__KP_6; exec [ $(wmctrl -l | grep 'Mozilla Firefox' | wc -l) = 0 ] && $(which firefox)
|
bindsym $Meta+KP_6 workspace $w__KP_6; exec [ $(ps -A | grep vivaldi | wc -l) = 0 ] && $(which vivaldi) -s
|
||||||
|
|
||||||
set $w__KP_7 "KP_7: design"
|
set $w__KP_7 "KP_7: design"
|
||||||
bindsym $Meta+KP_7 workspace $w__KP_7; exec [ $(xdotool search -class 'penpot' | wc -l) = 0 ] && penpot
|
bindsym $Meta+KP_7 workspace $w__KP_7; exec [ $(xdotool search -class 'penpot' | wc -l) = 0 ] && penpot
|
||||||
|
@ -178,7 +178,7 @@ bindsym $Meta+$Alt+KP_9 move container to workspace $w__KP_9
|
||||||
|
|
||||||
|
|
||||||
# keyboard layouts
|
# keyboard layouts
|
||||||
bindsym $Meta+F9 exec --no-startup-id "/Cfg/kb/jp-translit-hiro.sh"
|
bindsym $Meta+F9 exec --no-startup-id "/Cfg/kb/jp-translit-hiro.sh"
|
||||||
bindsym $Meta+F10 exec --no-startup-id "/Cfg/kb/jp-translit-kana.sh"
|
bindsym $Meta+F10 exec --no-startup-id "/Cfg/kb/jp-translit-kana.sh"
|
||||||
bindsym $Meta+F11 exec --no-startup-id "/Cfg/kb/ru-translit-mac.sh"
|
bindsym $Meta+F11 exec --no-startup-id "/Cfg/kb/ru-translit-mac.sh"
|
||||||
bindsym $Meta+F12 exec --no-startup-id "/Cfg/kb/us-mac.sh"
|
bindsym $Meta+F12 exec --no-startup-id "/Cfg/kb/us-mac.sh"
|
||||||
|
|
|
@ -1,288 +0,0 @@
|
||||||
---
|
|
||||||
version: "3.5"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
penpot:
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
penpot_postgres_v15:
|
|
||||||
penpot_assets:
|
|
||||||
# penpot_traefik:
|
|
||||||
# penpot_minio:
|
|
||||||
|
|
||||||
services:
|
|
||||||
## Traefik service declaration example. Consider using it if you are going to expose
|
|
||||||
## penpot to the internet or different host than `localhost`.
|
|
||||||
|
|
||||||
# traefik:
|
|
||||||
# image: traefik:v2.9
|
|
||||||
# networks:
|
|
||||||
# - penpot
|
|
||||||
# command:
|
|
||||||
# - "--api.insecure=true"
|
|
||||||
# - "--entryPoints.web.address=:80"
|
|
||||||
# - "--providers.docker=true"
|
|
||||||
# - "--providers.docker.exposedbydefault=false"
|
|
||||||
# - "--entryPoints.websecure.address=:443"
|
|
||||||
# - "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
|
||||||
# - "--certificatesresolvers.letsencrypt.acme.email=<EMAIL_ADDRESS>"
|
|
||||||
# - "--certificatesresolvers.letsencrypt.acme.storage=/traefik/acme.json"
|
|
||||||
# volumes:
|
|
||||||
# - "penpot_traefik:/traefik"
|
|
||||||
# - "/var/run/docker.sock:/var/run/docker.sock"
|
|
||||||
# ports:
|
|
||||||
# - "80:80"
|
|
||||||
# - "443:443"
|
|
||||||
|
|
||||||
penpot-frontend:
|
|
||||||
image: "penpotapp/frontend:latest"
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- 9001:80
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- penpot_assets:/opt/data/assets
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- penpot-backend
|
|
||||||
- penpot-exporter
|
|
||||||
|
|
||||||
networks:
|
|
||||||
- penpot
|
|
||||||
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
|
|
||||||
## HTTP: example of labels for the case if you are going to expose penpot to the
|
|
||||||
## internet using only HTTP (without HTTPS) with traefik
|
|
||||||
|
|
||||||
# - "traefik.http.routers.penpot-http.entrypoints=web"
|
|
||||||
# - "traefik.http.routers.penpot-http.rule=Host(`<DOMAIN_NAME>`)"
|
|
||||||
# - "traefik.http.services.penpot-http.loadbalancer.server.port=80"
|
|
||||||
|
|
||||||
## HTTPS: example of labels for the case if you are going to expose penpot to the
|
|
||||||
## internet using with HTTPS using traefik
|
|
||||||
|
|
||||||
# - "traefik.http.middlewares.http-redirect.redirectscheme.scheme=https"
|
|
||||||
# - "traefik.http.middlewares.http-redirect.redirectscheme.permanent=true"
|
|
||||||
# - "traefik.http.routers.penpot-http.entrypoints=web"
|
|
||||||
# - "traefik.http.routers.penpot-http.rule=Host(`<DOMAIN_NAME>`)"
|
|
||||||
# - "traefik.http.routers.penpot-http.middlewares=http-redirect"
|
|
||||||
# - "traefik.http.routers.penpot-https.entrypoints=websecure"
|
|
||||||
# - "traefik.http.routers.penpot-https.rule=Host(`<DOMAIN_NAME>`)"
|
|
||||||
# - "traefik.http.services.penpot-https.loadbalancer.server.port=80"
|
|
||||||
# - "traefik.http.routers.penpot-https.tls=true"
|
|
||||||
# - "traefik.http.routers.penpot-https.tls.certresolver=letsencrypt"
|
|
||||||
|
|
||||||
## Configuration envronment variables for frontend the container. In this case this
|
|
||||||
## container only needs the `PENPOT_FLAGS`. This environment variable is shared with
|
|
||||||
## other services but not all flags are relevant to all services.
|
|
||||||
|
|
||||||
environment:
|
|
||||||
## Relevant flags for frontend:
|
|
||||||
## - demo-users
|
|
||||||
## - login-with-github
|
|
||||||
## - login-with-gitlab
|
|
||||||
## - login-with-google
|
|
||||||
## - login-with-ldap
|
|
||||||
## - login-with-oidc
|
|
||||||
## - login-with-password
|
|
||||||
## - registration
|
|
||||||
## - webhooks
|
|
||||||
##
|
|
||||||
## You can read more about all available flags on:
|
|
||||||
## https://help.penpot.app/technical-guide/configuration/#advanced-configuration
|
|
||||||
|
|
||||||
- PENPOT_FLAGS=enable-registration enable-login-with-password
|
|
||||||
|
|
||||||
penpot-backend:
|
|
||||||
image: "penpotapp/backend:latest"
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- penpot_assets:/opt/data/assets
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- penpot-postgres
|
|
||||||
- penpot-redis
|
|
||||||
|
|
||||||
networks:
|
|
||||||
- penpot
|
|
||||||
|
|
||||||
## Configuration envronment variables for backend the
|
|
||||||
## container.
|
|
||||||
|
|
||||||
environment:
|
|
||||||
|
|
||||||
## Relevant flags for backend:
|
|
||||||
## - demo-users
|
|
||||||
## - email-verification
|
|
||||||
## - log-emails
|
|
||||||
## - log-invitation-tokens
|
|
||||||
## - login-with-github
|
|
||||||
## - login-with-gitlab
|
|
||||||
## - login-with-google
|
|
||||||
## - login-with-ldap
|
|
||||||
## - login-with-oidc
|
|
||||||
## - login-with-password
|
|
||||||
## - registration
|
|
||||||
## - secure-session-cookies
|
|
||||||
## - smtp
|
|
||||||
## - smtp-debug
|
|
||||||
## - telemetry
|
|
||||||
## - webhooks
|
|
||||||
## - prepl-server
|
|
||||||
##
|
|
||||||
## You can read more about all available flags and other
|
|
||||||
## environment variables for the backend here:
|
|
||||||
## https://help.penpot.app/technical-guide/configuration/#advanced-configuration
|
|
||||||
|
|
||||||
- PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification enable-smtp enable-prepl-server
|
|
||||||
|
|
||||||
## Penpot SECRET KEY. It serves as a master key from which other keys for subsystems
|
|
||||||
## (eg http sessions, or invitations) are derived.
|
|
||||||
##
|
|
||||||
## If you leve it commented, all created sessions and invitations will
|
|
||||||
## become invalid on container restart.
|
|
||||||
##
|
|
||||||
## If you going to uncomment this, we recommend use here a trully randomly generated
|
|
||||||
## 512 bits base64 encoded string. 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 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
|
|
||||||
|
|
||||||
## Public URI. If you are going to expose this instance to the internet and use it
|
|
||||||
## under different domain than 'localhost', you will need to adjust it to the final
|
|
||||||
## domain.
|
|
||||||
##
|
|
||||||
## Consider using traefik and set the 'disable-secure-session-cookies' if you are
|
|
||||||
## not going to serve penpot under HTTPS.
|
|
||||||
|
|
||||||
- PENPOT_PUBLIC_URI=http://localhost:9001
|
|
||||||
|
|
||||||
## 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 on 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
|
|
||||||
|
|
||||||
## Example SMTP/Email configuration. By default, emails are sent to the mailcatch
|
|
||||||
## service, but for production usage is recommended to setup a real SMTP
|
|
||||||
## provider. Emails are used to confirm user registrations & invitations. Look below
|
|
||||||
## how 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
|
|
||||||
|
|
||||||
penpot-exporter:
|
|
||||||
image: "penpotapp/exporter:latest"
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- penpot
|
|
||||||
|
|
||||||
environment:
|
|
||||||
# Don't touch it; this uses internal docker network to
|
|
||||||
# communicate with the frontend.
|
|
||||||
- PENPOT_PUBLIC_URI=http://penpot-frontend
|
|
||||||
|
|
||||||
## Redis is used for the websockets notifications.
|
|
||||||
- PENPOT_REDIS_URI=redis://penpot-redis/0
|
|
||||||
|
|
||||||
penpot-postgres:
|
|
||||||
image: "postgres:15"
|
|
||||||
restart: always
|
|
||||||
stop_signal: SIGINT
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- penpot_postgres_v15:/var/lib/postgresql/data
|
|
||||||
|
|
||||||
networks:
|
|
||||||
- penpot
|
|
||||||
|
|
||||||
environment:
|
|
||||||
- POSTGRES_INITDB_ARGS=--data-checksums
|
|
||||||
- POSTGRES_DB=penpot
|
|
||||||
- POSTGRES_USER=penpot
|
|
||||||
- POSTGRES_PASSWORD=penpot
|
|
||||||
|
|
||||||
penpot-redis:
|
|
||||||
image: redis:7
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- penpot
|
|
||||||
|
|
||||||
## A mailcatch service, used as temporal SMTP server. You can access via HTTP to the
|
|
||||||
## port 1080 for read all emails the penpot platform has sent. Should be only used as a
|
|
||||||
## temporal solution meanwhile you don't have a real SMTP provider configured.
|
|
||||||
|
|
||||||
penpot-mailcatch:
|
|
||||||
image: sj26/mailcatcher:latest
|
|
||||||
restart: always
|
|
||||||
expose:
|
|
||||||
- '1025'
|
|
||||||
ports:
|
|
||||||
- "1080:1080"
|
|
||||||
networks:
|
|
||||||
- penpot
|
|
||||||
|
|
||||||
## Example configuration of MiniIO (S3 compatible object storage service); If you don't
|
|
||||||
## have preference, then just use filesystem, this is here just for the completeness.
|
|
||||||
|
|
||||||
# minio:
|
|
||||||
# image: "minio/minio:latest"
|
|
||||||
# command: minio server /mnt/data --console-address ":9001"
|
|
||||||
# restart: always
|
|
||||||
#
|
|
||||||
# volumes:
|
|
||||||
# - "penpot_minio:/mnt/data"
|
|
||||||
#
|
|
||||||
# environment:
|
|
||||||
# - MINIO_ROOT_USER=minioadmin
|
|
||||||
# - MINIO_ROOT_PASSWORD=minioadmin
|
|
||||||
#
|
|
||||||
# ports:
|
|
||||||
# - 9000:9000
|
|
||||||
# - 9001:9001
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue