Skip to content

Commit

Permalink
Init
Browse files Browse the repository at this point in the history
  • Loading branch information
MaximilianGT500 committed Aug 31, 2023
1 parent b6d4acd commit a6508dc
Show file tree
Hide file tree
Showing 13 changed files with 177 additions and 111 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
maxsrl/moeshare:latest
maximiliangt500/uploader:latest
18 changes: 9 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
FROM node:20-slim

WORKDIR /opt/moeshare/
WORKDIR /opt/uploader/
COPY . ./

RUN mkdir -p /opt/moeshare/uploads/ \
/opt/moeshare/public/assets/ \
/opt/moeshare/db/ && \
touch /opt/moeshare/.env
RUN mkdir -p /opt/uploader/uploads/ \
/opt/uploader/public/assets/ \
/opt/uploader/db/ && \
touch /opt/uploader/.env

ENV AUDIO_FORMATS=.mp3,.wav,.ogg,.aac,.flac \
VIDEO_FORMATS=.mp4,.avi,.mkv,.mov,.wmv \
Expand All @@ -18,8 +18,8 @@ ENV AUDIO_FORMATS=.mp3,.wav,.ogg,.aac,.flac \
USE_PREVIEW=true \
LOGS=false \
ALLOW_METRICS=true \
SITE_TITLE=MoeShare \
SITE_FAVICON=https://moeshare.de/logo.png \
SITE_TITLE=EXAMPLE \
SITE_FAVICON=/assets/favicon.png \
OG_TITLE=EXAMPLE \
OG_DESCRIPTION=EXAMPLE \
THEME_COLOR=&dominantColor \
Expand All @@ -30,8 +30,8 @@ ENV AUDIO_FORMATS=.mp3,.wav,.ogg,.aac,.flac \
USE_DOMINANT_COLOR=true \
DOMINANT_COLOR_STATIC=# \
BOX_SHADOW_COLOR=#ffffff \
COPYRIGHT_TEXT="© 2023 MoeShare - All Rights Reserved" \
DISCORD_WEBHOOK_NAME=MoeShare \
COPYRIGHT_TEXT="© 2023 EXAMPLE - All Rights Reserved" \
DISCORD_WEBHOOK_NAME=Datei-Uploader \
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/XXXX/XXXX \
DISCORD_WEBHOOK_SUCCESS_COLOR=0x03fc28 \
DISCORD_WEBHOOK_ERROR_COLOR=0xfc0303 \
Expand Down
20 changes: 15 additions & 5 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Migration der Datenbank

## Von PostgreSQL zu SQLite3
Gehe in den Ordner von MoeShare.
Gehe in den Ordner von den Uploader

1. Gehe mit diesen Befehl in den Container der Datenbank: `docker exec -it datenbank bash`

Expand All @@ -16,7 +16,7 @@ Gehe in den Ordner von MoeShare.
curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
bash nodesource_setup.sh
apt --assume-yes install nodejs
wget https://raw.githubusercontent.com/maxsrl/moeshare/main/sqlite-anpassung.js
wget https://raw.githubusercontent.com/MaximilianGT500/Uploader/main/sqlite-anpassung.js
npm i sqlite3
node sqlite-anpassung.js
exit
Expand All @@ -29,19 +29,24 @@ Gehe in den Ordner von MoeShare.
cp pg_data/datenbank.sqlite db/datenbank.sqlite
rm -r pg_data
mv docker-compose.yml docker-compose.old.yml
wget https://raw.githubusercontent.com/maxsrl/moeshare/main/docker-compose.yml
wget https://raw.githubusercontent.com/MaximilianGT500/Uploader/main/docker-compose.migrieren.yml
mv docker-compose.migrieren.yml docker-compose.yml
```
3. Ändere die `docker-compose.yml` nach deinen Wünschen.
5. Starte den Uploader mit `docker compose up -d`
<<<<<<< HEAD
6. **(Optimal)** Wenn du die gerade installierte Software löschen möchtest, führe diese Befehle aus:
=======
6. **(Optimal)** Wenn du die gerade installierte Sotware löschen möchtest, führe diese Befehle aus:
>>>>>>> parent of 3c599cf (Rebranding zu MoeShare 🎉)
```bash
apt remove --purge wget
```
#### Nun hast du erfolgreich von PostgreSQL zu SQLite Migriert.


## Von MariaDB/MySQL zu SQLite3
Gehe in den Ordner von MoeShare.
Gehe in den Ordner von den Uploader

1. Gehe mit diesen Befehl in den Container der Datenbank: `docker exec -it uploader-datenbank bash`

Expand All @@ -61,11 +66,16 @@ Gehe in den Ordner von MoeShare.
cp mariadb/data/datenbank.sqlite db/datenbank.sqlite
rm -r mariadb
mv docker-compose.yml docker-compose.old.yml
wget https://raw.githubusercontent.com/maxsrl/moeshare/main/docker-compose.yml
wget https://raw.githubusercontent.com/MaximilianGT500/Uploader/main/docker-compose.migrieren.yml
mv docker-compose.migrieren.yml docker-compose.yml
```
3. Ändere die `docker-compose.yml` nach deinen Wünschen.
5. Starte den Uploader mit `docker compose up -d`
<<<<<<< HEAD
6. **(Optimal)** Wenn du die gerade installierte Software löschen möchtest, führe diese Befehle aus:
=======
6. **(Optimal)** Wenn du die gerade installierte Sotware löschen möchtest, führe diese Befehle aus:
>>>>>>> parent of 3c599cf (Rebranding zu MoeShare 🎉)
```bash
apt remove --purge wget
```
Expand Down
87 changes: 28 additions & 59 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion config.sxcu
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"Version": "15.0.0",
"Name": "MoeShare",
"Name": "Uploader",
"DestinationType": "ImageUploader, TextUploader, FileUploader",
"RequestMethod": "POST",
"RequestURL": "https://example.com/upload",
Expand Down
2 changes: 1 addition & 1 deletion config_flameshot.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
IMAGEPATH="$HOME/Bilder/"
IMAGENAME="MoeShare"
IMAGENAME="Uploader"
KEY="Dein Token"
DOMAIN="example.com/upload"

Expand Down
Binary file removed db/datenbank.sqlite
Binary file not shown.
59 changes: 59 additions & 0 deletions docker-compose.migrieren.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
version: '3.8'
services:
uploader:
image: maximiliangt500/uploader
container_name: uploader
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./uploads:/opt/uploader/uploads
- ./public:/opt/uploader/public
- ./db:/opt/uploader/db
- type: bind
source: ./db/datenbank.sqlite
target: /opt/uploader/db/datenbank.sqlite
- type: bind
source: ./uploads
target: /opt/uploader/uploads
tmpfs: /tmp
tty: true
environment:
- NODE_ENV=production

- AUDIO_FORMATS=.mp3,.wav,.ogg,.aac,.flac # Unterstützte Audioformate
- VIDEO_FORMATS=.mp4,.avi,.mkv,.mov,.wmv # Unterstützte Videoformate
- IMAGE_FORMATS=.jpg,.jpeg,.png,.bmp,.svg,.webp,.tiff # Unterstützte Bildformate

- BASE_URL=http://localhost:3000 # Basis-URL der Anwendung
- PORT=3000 # Port der Anwendung
- JWT_TOKEN=CHANGEME # Zufälliger Token
- REMOVE_METADATA=true # Sollen Metadaten, wie der Standort entfernt werden nach dem Upload? (Dies verringert die Leistung.)
- USE_PREVIEW=true # Soll ein Preview Bild erstellt werden?
- LOGS=false # Sollen Logs an die Discord-Webhook gesendet werden?

- SITE_TITLE=EXAMPLE # Meta-Tag title
- SITE_FAVICON=/assets/favicon.png # Path zur .png-Datei oder zu einer .png-URL
- OG_TITLE=EXAMPLE # Meta-Tag og:title
- OG_DESCRIPTION=EXAMPLE # Meta-Tag og:description
- THEME_COLOR=&dominantColor # Meta-Tag theme-color - wenn &dominantColor als themecolor genommen wird, ist das Embed in der Dominanten Farbe der Datei

- AUTHOR_URL=https://example.com # OEmbed
- AUTHOR_NAME=EXAMPLE # OEmbed
- PROVIDER_NAME=EXAMPLE.COM # OEmbed
- PROVIDER_URL=https://example.com # OEmbed

- USE_DOMINANT_COLOR=true # Soll die Dominate Farbe des Bildes für den Shadow genutzt werden? (dann true) Sollte lieber eine Static Farbe genutzt werden? (dann false und fülle dominantColorStatic aus)
- DOMINANT_COLOR_STATIC=#ffffff # Diese Farbe wird anstelle der Dominanten Farbe genutzt. (#HEXCOLOR)
- BOX_SHADOW_COLOR=#ffffff # Wird Angewand, wenn die Datei kein Bild ist. (#HEXCOLOR)

- COPYRIGHT_TEXT=&copy; 2023 EXAMPLE - All Rights Reserved # Copyright Text

- DISCORD_WEBHOOK_NAME=Datei-Uploader # Dies ist der Name der Webhook
- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/XXXX/XXXX # Für Discord-Webhook logging (Nur ausfüllen wenn LOGS = true)
- DISCORD_WEBHOOK_SUCCESS_COLOR=0x03fc28 # Embed-Farbe bei INFO Logs (0xHEXCOLORCODEOHNE-#)
- DISCORD_WEBHOOK_ERROR_COLOR=0xfc0303 # Embed-Farbe bei ERROR Logs (0xHEXCOLORCODEOHNE-#)

- REDIRECT_URL=https://example.com # Wohin soll man Weitergeleitet werden, wenn man / aufruft?
#env_file:
# - .env # Nenne example.env zu .env um!
28 changes: 11 additions & 17 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
version: '3.8'
services:
moeshare:
image: maxsrl/moeshare
container_name: moeshare
uploader:
image: maximiliangt500/uploader
container_name: uploader
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./uploads:/opt/moeshare/uploads
- ./public:/opt/moeshare/public
- ./db:/opt/moeshare/db
- type: bind
source: ./db
target: /opt/moeshare/db
- type: bind
source: ./uploads
target: /opt/moeshare/uploads
- ./uploads:/opt/uploader/uploads
- ./public:/opt/uploader/public
- ./db:/opt/uploader/db
tmpfs: /tmp
tty: true
environment:
Expand All @@ -28,13 +22,13 @@ services:
- BASE_URL=http://localhost:3000 # Basis-URL der Anwendung
- PORT=3000 # Port der Anwendung
- JWT_TOKEN=CHANGEME # Zufälliger Token
- REMOVE_METADATA=true # Sollen Metadaten, wie der Standort entfernt werden nach dem Upload? (Dies beeinträchtigt die Leistung.)
- REMOVE_METADATA=true # Sollen Metadaten, wie der Standort entfernt werden nach dem Upload? (Dies verringert die Leistung.)
- USE_PREVIEW=true # Soll ein Preview Bild erstellt werden?
- LOGS=false # Sollen Logs an die Discord-Webhook gesendet werden?
- ALLOW_METRICS=true # Dürfen Fehler an Sentry für die Fehlerbehebung gesendet werden? (Dies wird empfohlen und damit trägst Du zur verbesserung der Anwendung bei!)

- SITE_TITLE=MoeShare # Meta-Tag title
- SITE_FAVICON=https://moeshare.de/logo.png # Path zur .png-Datei oder zu einer .png-URL
- SITE_TITLE=EXAMPLE # Meta-Tag title
- SITE_FAVICON=/assets/favicon.png # Path zur .png-Datei oder zu einer .png-URL
- OG_TITLE=EXAMPLE # Meta-Tag og:title
- OG_DESCRIPTION=EXAMPLE # Meta-Tag og:description
- THEME_COLOR=&dominantColor # Meta-Tag theme-color - wenn &dominantColor als themecolor genommen wird, ist das Embed in der Dominanten Farbe der Datei
Expand All @@ -48,9 +42,9 @@ services:
- DOMINANT_COLOR_STATIC=#ffffff # Diese Farbe wird anstelle der Dominanten Farbe genutzt. (#HEXCOLOR)
- BOX_SHADOW_COLOR=#ffffff # Wird Angewand, wenn die Datei kein Bild ist. (#HEXCOLOR)

- COPYRIGHT_TEXT=&copy; 2023 MoeShare - All Rights Reserved # Copyright Text
- COPYRIGHT_TEXT=&copy; 2023 EXAMPLE - All Rights Reserved # Copyright Text

- DISCORD_WEBHOOK_NAME=MoeShare # Dies ist der Name der Webhook
- DISCORD_WEBHOOK_NAME=Datei-Uploader # Dies ist der Name der Webhook
- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/XXXX/XXXX # Für Discord-Webhook logging (Nur ausfüllen wenn LOGS = true)
- DISCORD_WEBHOOK_SUCCESS_COLOR=0x03fc28 # Embed-Farbe bei INFO Logs (0xHEXCOLORCODEOHNE-#)
- DISCORD_WEBHOOK_ERROR_COLOR=0xfc0303 # Embed-Farbe bei ERROR Logs (0xHEXCOLORCODEOHNE-#)
Expand Down
34 changes: 34 additions & 0 deletions example.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
AUDIO_FORMATS=.mp3,.wav,.ogg,.aac,.flac # Unterstützte Audioformate
VIDEO_FORMATS=.mp4,.avi,.mkv,.mov,.wmv # Unterstützte Videoformate
IMAGE_FORMATS=.jpg,.jpeg,.png,.bmp,.svg,.webp,.tiff # Unterstützte Bildformate

BASE_URL='http://localhost:3000' # Basis-URL der Anwendung
PORT=3000 # Port der Anwendung
JWT_TOKEN='CHANGEME' # Zufälliger Token
REMOVE_METADATA=true # Sollen Metadaten, wie der Standort entfernt werden nach dem Upload? (Dies beeinträchtigt die Leistung.)
USE_PREVIEW=true # Soll ein Preview Bild erstellt werden?
LOGS=false # Sollen Logs an die Discord-Webhook gesendet werden?
ALLOW_METRICS=true # Dürfen Fehler an Sentry für die Fehlerbehebung gesendet werden? (Dies wird empfohlen und damit trägst Du zur verbesserung der Anwendung bei!)

SITE_TITLE='MoeShare' # Meta-Tag title
SITE_FAVICON='https://moeshare.de/logo.png' # Path zur .png-Datei oder zu einer .png-URL
OG_TITLE='EXAMPLE' # Meta-Tag og:title
OG_DESCRIPTION='EXAMPLE' # Meta-Tag og:description
THEME_COLOR='&dominantColor' # Meta-Tag theme-color - wenn &dominantColor als themecolor genommen wird, ist das Embed in der Dominanten Farbe der Datei

AUTHOR_URL='https://example.com' # OEmbed
AUTHOR_NAME='EXAMPLE' # OEmbed
PROVIDER_NAME='EXAMPLE.COM' # OEmbed
PROVIDER_URL='https://example.com' # OEmbed

USE_DOMINANT_COLOR=true # Soll die Dominate Farbe des Bildes für den Shadow genutzt werden? (dann true) Sollte lieber eine Static Farbe genutzt werden? (dann false und fülle dominantColorStatic aus)
DOMINANT_COLOR_STATIC='#fffff' # Diese Farbe wird anstelle der Dominanten Farbe genutzt. (#HEXCOLOR)
BOX_SHADOW_COLOR='#ffffff' # Wird Angewand, wenn die Datei kein Bild ist. (#HEXCOLOR)

COPYRIGHT_TEXT='&copy; 2023 MoeShare - All Rights Reserved' # Copyright Text

DISCORD_WEBHOOK_NAME='MoeShare' # Dies ist der Name der Webhook
DISCORD_WEBHOOK_URL='https://discord.com/api/webhooks/XXXX/XXXX' # Für Discord-Webhook logging (Nur ausfüllen wenn LOGS = true)
DISCORD_WEBHOOK_SUCCESS_COLOR=0x03fc28 # Embed-Farbe bei INFO Logs (0xHEXCOLORCODEOHNE-#)
DISCORD_WEBHOOK_ERROR_COLOR=0xfc0303 # Embed-Farbe bei ERROR Logs (0xHEXCOLORCODEOHNE-#)
REDIRECT_URL='https://example.com' # Wohin soll man Weitergeleitet werden, wenn man / aufruft?
10 changes: 5 additions & 5 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,18 @@ const localVersion = require(localVersionPath);

async function checkLatestVersion() {
try {
const response = await axios.get('https://raw.githubusercontent.com/maxsrl/moeshare/main/package.json');
const response = await axios.get('https://raw.githubusercontent.com/MaximilianGT500/Uploader/main/package.json');
const remotePackageJson = response.data;
const latestVersion = remotePackageJson.version;

if (latestVersion !== localVersion.version) {
console.log(clc.bold.magenta(`\n--------------------------------------------------------------------------------`));
console.log(clc.magenta(`\n[UPDATE] | » Eine neue Version (${latestVersion}) von MoeShare ist verfügbar!`));
console.log(clc.magenta(`\n[UPDATE] | » Eine neue Version (${latestVersion}) ist verfügbar!`));
console.log(clc.magenta(` Die derzeitige Version lautet: ${localVersion.version}`));
console.log(clc.bold.magenta(` Prüfe auf neue Variable in der docker-compose.yml bzw. example.env!`));
console.log(clc.bold.magenta(`\n--------------------------------------------------------------------------------`));
} else {
console.log(clc.magenta('[UPDATE] | » MoeShare ist auf dem neusten Stand!'));
console.log(clc.magenta('[UPDATE] | » Die Anwendung ist auf dem neusten Stand!'));
}
} catch (error) {
console.log(clc.red('[ERROR] | » Fehler beim Abrufen von package.json von GitHub:', error.message));
Expand Down Expand Up @@ -159,7 +159,7 @@ const formattedTotalMemory = formatMemory(totalMemory);
console.log(clc.whiteBright(`\n`))
console.log(clc.bold.whiteBright(`-----------------------------------------------------------------------------------------------------`))
console.log(clc.bold.whiteBright(`${greeting}, Nutzer.`))
console.log(clc.bold.whiteBright(`Vielen Dank, dass du MoeShare nutzt!\n`))
console.log(clc.bold.whiteBright(`Vielen Dank, dass du mein Uploader nutzt!\n`))
console.log(clc.bold.whiteBright(`Hier kannst du die aktuellen Einstellungen sehen:`))
console.log(clc.whiteBright(` - Diese Farbe wird anstelle der Dominanten Farbe genutzt: ${DOMINANT_COLOR_STATIC}`))
console.log(clc.whiteBright(` - Wird Angewand, wenn die Datei kein Bild ist: ${BOX_SHADOW_COLOR}\n`))
Expand All @@ -182,7 +182,7 @@ console.log(clc.bold.whiteBright(`Uploadereigenschaften:`))
console.log(clc.whiteBright(` - Domain: ${BASE_URL}`))
console.log(clc.whiteBright(` - Speicherplatz verwendet: ${folderSizeKb.toFixed(2)} KB (${folderSizeMb.toFixed(2)} MB)`))
console.log(clc.whiteBright(` - Insgesamte Dateien: ${fileCount}\n`))
console.log(clc.bold.whiteBright(`Wenn du Hilfe oder Probleme hast, melde sie unter https://github.com/maxsrl/moeshare/issues.`))
console.log(clc.bold.whiteBright(`Wenn du Hilfe oder Probleme hast, melde sie unter https://github.com/MaximilianGT500/Uploader/issues.`))
console.log(clc.bold.whiteBright(`-----------------------------------------------------------------------------------------------------\n\n`))

const createDirectoriesForAllUsers = async () => {
Expand Down
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "moeshare",
"version": "1.1.72",
"name": "uploader",
"version": "1.0.71",
"description": "Dies ist ein ShareX-Uploader mit einigen Funktionen.",
"main": "index.js",
"dependencies": {
Expand Down Expand Up @@ -33,10 +33,10 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/maxsrl/moeshare.git"
"url": "git+https://github.com/MaximilianGT500/uploader.git"
},
"keywords": [
"moeshare",
"uploader",
"upload",
"files",
"file",
Expand All @@ -56,7 +56,7 @@
"author": "MaximilianGT500",
"license": "MIT",
"bugs": {
"url": "https://github.com/maxsrl/moeshare/issues"
"url": "https://github.com/MaximilianGT500/uploader/issues"
},
"homepage": "https://github.com/maxsrl/moeshare#readme"
"homepage": "https://github.com/MaximilianGT500/uploader#readme"
}

0 comments on commit a6508dc

Please sign in to comment.