Compare commits

...

13 Commits

Author SHA1 Message Date
schlagmichdoch e77f856515 increase version to v1.1.3 2023-02-25 17:03:44 +01:00
Xstar97TheNoob 0de92864eb fix IMAGE_NAME
Just tested this on my fork, works.
2023-02-25 17:02:19 +01:00
schlagmichdoch 8ecec5c1bf increase version to v1.1.2 2023-02-24 18:19:49 +01:00
schlagmichdoch 78cf0139b8 Merge pull request #47 from xstar97/patch-1
Fix(ghcr) update workflow variable to a static lowercase name
2023-02-24 18:12:01 +01:00
schlagmichdoch 591c76c15a fix dialog heights 2023-02-24 18:10:34 +01:00
Xstar97TheNoob 2a3d1d4105 Fix variable to a static lowercase name 2023-02-24 10:40:30 -05:00
schlagmichdoch 5bff933b6e Merge pull request #45 from xstar97/docs-fix
docs(ghcr) add deployment notes for ghcr
2023-02-24 16:23:19 +01:00
schlagmichdoch 0ba1bd7113 tidy up Docker deployment notes 2023-02-24 16:20:19 +01:00
schlagmichdoch 0eb13d9d1b increase QR-Code size as requested in #43 and fix overflow issues on iOS 2023-02-24 16:08:36 +01:00
schlagmichdoch ad109d1724 Merge pull request #37 from xstar97/ghcr-build-wk
feat(ghcr.io)  build container on tagged commits to ghcr.io
2023-02-23 21:00:35 +01:00
Xstar97TheNoob f9e214a1e5 docs(ghcr) add deployment notes for ghcr 2023-02-23 12:53:04 -05:00
Xstar97TheNoob 0d8db3e309 add downcase to variable. 2023-02-20 09:36:24 -05:00
Xstar97TheNoob c7647daff7 feat(ghcr.io) build container on tagged releases to ghcr.io 2023-02-20 09:25:57 -05:00
10 changed files with 104 additions and 21 deletions
+51
View File
@@ -0,0 +1,51 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# GitHub recommends pinning actions to a commit SHA.
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.
name: GHCR Image CI
on:
push:
tags:
- "v*.*.*"
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
+12 -4
View File
@@ -1,14 +1,22 @@
# Deployment Notes # Deployment Notes
The easiest way to get PairDrop up and running is by using Docker. The easiest way to get PairDrop up and running is by using Docker.
## Deployment with Docker from Docker Hub ## Deployment with Docker
> You must use a server proxy to set the X-Forwarded-For to prevent all clients from discovering each other (See [#HTTP-Server](#http-server)).
>
> To prevent bypassing the proxy and reach the docker container directly, `127.0.0.1` is specified in the run command.
### Image from Docker Hub
```bash ```bash
docker run -d --restart=unless-stopped --name=pairdrop -p 127.0.0.1:3000:3000 lscr.io/linuxserver/pairdrop docker run -d --restart=unless-stopped --name=pairdrop -p 127.0.0.1:3000:3000 lscr.io/linuxserver/pairdrop
``` ```
> You must use a server proxy to set the X-Forwarded-For to prevent all clients from discovering each other (See [#HTTP-Server](#http-server)).
> ### Image from GHCR
> To prevent bypassing the proxy and reach the docker container directly, `127.0.0.1` is specified in the run command.
```bash
docker run -d --restart=unless-stopped --name=pairdrop -p 127.0.0.1:3000:3000 ghcr.io/schlagmichdoch/pairdrop
```
### Options / Flags ### Options / Flags
Set options by using the following flags in the `docker run` command: Set options by using the following flags in the `docker run` command:
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "pairdrop", "name": "pairdrop",
"version": "1.1.0", "version": "1.1.3",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pairdrop", "name": "pairdrop",
"version": "1.1.0", "version": "1.1.3",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"express": "^4.18.2", "express": "^4.18.2",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "pairdrop", "name": "pairdrop",
"version": "1.1.0", "version": "1.1.3",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
+2 -2
View File
@@ -839,8 +839,8 @@ class PairDeviceDialog extends Dialog {
// Display the QR code for the url // Display the QR code for the url
const qr = new QRCode({ const qr = new QRCode({
content: this._getShareRoomURL(), content: this._getShareRoomURL(),
width: 80, width: 150,
height: 80, height: 150,
padding: 0, padding: 0,
background: "transparent", background: "transparent",
color: getComputedStyle(document.body).getPropertyValue('--text-color'), color: getComputedStyle(document.body).getPropertyValue('--text-color'),
+1 -1
View File
@@ -1,4 +1,4 @@
const cacheVersion = 'v1.1.0'; const cacheVersion = 'v1.1.3';
const cacheTitle = `pairdrop-cache-${cacheVersion}`; const cacheTitle = `pairdrop-cache-${cacheVersion}`;
const urlsToCache = [ const urlsToCache = [
'index.html', 'index.html',
+16 -4
View File
@@ -11,7 +11,8 @@
/* Layout */ /* Layout */
html { html {
height: 100%; min-height: 100%;
height: -webkit-fill-available;
} }
html, html,
@@ -25,6 +26,8 @@ body {
} }
body { body {
min-height: 100%;
min-height: -webkit-fill-available;
flex-grow: 1; flex-grow: 1;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -407,6 +410,7 @@ x-dialog x-background {
transition: opacity 300ms; transition: opacity 300ms;
will-change: opacity; will-change: opacity;
padding: 35px; padding: 35px;
overflow: overlay;
} }
x-dialog x-paper { x-dialog x-paper {
@@ -421,6 +425,13 @@ x-dialog x-paper {
will-change: transform; will-change: transform;
} }
#pairDeviceDialog x-paper {
position: absolute;
top: max(50%, 350px);
height: 650px;
margin-top: -325px;
}
x-dialog:not([show]) { x-dialog:not([show]) {
pointer-events: none; pointer-events: none;
} }
@@ -491,8 +502,8 @@ x-dialog .font-subheading {
#roomKeyQrCode { #roomKeyQrCode {
padding: inherit; padding: inherit;
margin: auto; margin: auto;
width: 80px; width: 150px;
height: 80px; height: 150px;
} }
#pairDeviceDialog hr { #pairDeviceDialog hr {
@@ -619,6 +630,7 @@ x-dialog .row-reverse {
#base64PasteDialog button[close] { #base64PasteDialog button[close] {
margin-top: 20px; margin-top: 20px;
} }
#base64PasteDialog button[close]:before { #base64PasteDialog button[close]:before {
border-radius: 8px; border-radius: 8px;
} }
@@ -931,7 +943,7 @@ screen and (min-width: 1100px) {
position: fixed; position: fixed;
} }
x-instructions:before { x-instructions:not([drop-peer]):not([drop-bg]):before {
content: attr(mobile); content: attr(mobile);
} }
} }
+2 -2
View File
@@ -840,8 +840,8 @@ class PairDeviceDialog extends Dialog {
// Display the QR code for the url // Display the QR code for the url
const qr = new QRCode({ const qr = new QRCode({
content: this._getShareRoomURL(), content: this._getShareRoomURL(),
width: 80, width: 150,
height: 80, height: 150,
padding: 0, padding: 0,
background: "transparent", background: "transparent",
color: getComputedStyle(document.body).getPropertyValue('--text-color'), color: getComputedStyle(document.body).getPropertyValue('--text-color'),
@@ -1,4 +1,4 @@
const cacheVersion = 'v1.1.0'; const cacheVersion = 'v1.1.3';
const cacheTitle = `pairdrop-included-ws-fallback-cache-${cacheVersion}`; const cacheTitle = `pairdrop-included-ws-fallback-cache-${cacheVersion}`;
const urlsToCache = [ const urlsToCache = [
'index.html', 'index.html',
+16 -4
View File
@@ -12,7 +12,8 @@
/* Layout */ /* Layout */
html { html {
height: 100%; min-height: 100%;
height: -webkit-fill-available;
} }
html, html,
@@ -26,6 +27,8 @@ body {
} }
body { body {
min-height: 100%;
min-height: -webkit-fill-available;
flex-grow: 1; flex-grow: 1;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -416,6 +419,7 @@ x-dialog x-background {
transition: opacity 300ms; transition: opacity 300ms;
will-change: opacity; will-change: opacity;
padding: 35px; padding: 35px;
overflow: overlay;
} }
x-dialog x-paper { x-dialog x-paper {
@@ -430,6 +434,13 @@ x-dialog x-paper {
will-change: transform; will-change: transform;
} }
#pairDeviceDialog x-paper {
position: absolute;
top: max(50%, 350px);
height: 650px;
margin-top: -325px;
}
x-dialog:not([show]) { x-dialog:not([show]) {
pointer-events: none; pointer-events: none;
} }
@@ -500,8 +511,8 @@ x-dialog .font-subheading {
#roomKeyQrCode { #roomKeyQrCode {
padding: inherit; padding: inherit;
margin: auto; margin: auto;
width: 80px; width: 150px;
height: 80px; height: 150px;
} }
#pairDeviceDialog hr { #pairDeviceDialog hr {
@@ -628,6 +639,7 @@ x-dialog .row-reverse {
#base64PasteDialog button[close] { #base64PasteDialog button[close] {
margin-top: 20px; margin-top: 20px;
} }
#base64PasteDialog button[close]:before { #base64PasteDialog button[close]:before {
border-radius: 8px; border-radius: 8px;
} }
@@ -944,7 +956,7 @@ screen and (min-width: 1100px) {
position: fixed; position: fixed;
} }
x-instructions:before { x-instructions:not([drop-peer]):not([drop-bg]):before {
content: attr(mobile); content: attr(mobile);
} }
} }