From bd26b271ba71db9d71a507be21fa7f4dafbbc075 Mon Sep 17 00:00:00 2001 From: Dym Sohin Date: Fri, 2 Feb 2024 19:18:42 +0100 Subject: [PATCH] move penpot to server --- _install.sh | 4 +- _installs/penpot.sh | 9 -- doublecmd/session.ini | 4 +- i3/config | 6 +- penpot/docker-compose.yaml | 288 ------------------------------------- 5 files changed, 7 insertions(+), 304 deletions(-) delete mode 100755 _installs/penpot.sh delete mode 100644 penpot/docker-compose.yaml diff --git a/_install.sh b/_install.sh index 6ff755e..94655f5 100755 --- a/_install.sh +++ b/_install.sh @@ -1,4 +1,4 @@ -#!/usr/bin/zsh +#!/bin/sh # remove unneeded @@ -20,7 +20,7 @@ sudo apt upgrade -y sudo apt install -y \ zsh curl wget git \ g++ make clang build-essential \ - nano ffmpeg lynx \ + nano ffmpeg lynx feh \ imagemagick graphicsmagick ghostscript \ jpegoptim pngcrush pngquant \ usrmerge net-tools rdfind ripgrep diff --git a/_installs/penpot.sh b/_installs/penpot.sh deleted file mode 100755 index d9de724..0000000 --- a/_installs/penpot.sh +++ /dev/null @@ -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 diff --git a/doublecmd/session.ini b/doublecmd/session.ini index 1fae562..5f20c8c 100644 --- a/doublecmd/session.ini +++ b/doublecmd/session.ini @@ -74,8 +74,8 @@ TfrmMaskInputDlg_Width=331 Screen_PixelsPerInch=92 [TfrmOptions(3840x2160)] -TfrmOptions_Height=2160 -TfrmOptions_Left=1920 +TfrmOptions_Height=2056 +TfrmOptions_Left=1760 TfrmOptions_Top=0 TfrmOptions_Width=1920 TfrmOptions_WindowState=wsNormal diff --git a/i3/config b/i3/config index 7e99d19..1494113 100644 --- a/i3/config +++ b/i3/config @@ -92,7 +92,7 @@ bindsym XF86AudioPrev exec playerctl previous # workspaces (numbers row) 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" 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 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" 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 -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+F11 exec --no-startup-id "/Cfg/kb/ru-translit-mac.sh" bindsym $Meta+F12 exec --no-startup-id "/Cfg/kb/us-mac.sh" diff --git a/penpot/docker-compose.yaml b/penpot/docker-compose.yaml deleted file mode 100644 index 7e85d17..0000000 --- a/penpot/docker-compose.yaml +++ /dev/null @@ -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=" - # - "--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(``)" - # - "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(``)" - # - "traefik.http.routers.penpot-http.middlewares=http-redirect" - # - "traefik.http.routers.penpot-https.entrypoints=websecure" - # - "traefik.http.routers.penpot-https.rule=Host(``)" - # - "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= - # - AWS_SECRET_ACCESS_KEY= - # - PENPOT_ASSETS_STORAGE_BACKEND=assets-s3 - # - PENPOT_STORAGE_ASSETS_S3_ENDPOINT=http://penpot-minio:9000 - # - PENPOT_STORAGE_ASSETS_S3_BUCKET= - - ## 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 - -