42 Commits

Author SHA1 Message Date
0da0f43729 7
All checks were successful
Publish Docker Image / docker (push) Successful in 1m19s
2024-09-28 18:21:48 +01:00
76034f2d7e im silly
All checks were successful
Publish Docker Image / docker (push) Successful in 1m1s
2024-09-28 18:18:31 +01:00
7c5b10da0b oops
All checks were successful
Publish Docker Image / docker (push) Successful in 1m8s
2024-09-28 18:15:56 +01:00
2cbea618bd now !
Some checks failed
Publish Docker Image / docker (push) Failing after 51s
2024-09-28 18:13:30 +01:00
dea7a6647c fix?
All checks were successful
Publish Docker Image / docker (push) Successful in 1m9s
2024-09-28 18:11:44 +01:00
e313dad836 now?
All checks were successful
Publish Docker Image / docker (push) Successful in 1m11s
2024-09-28 12:22:10 +01:00
482b648aed oopsies
All checks were successful
Publish Docker Image / docker (push) Successful in 1m9s
2024-09-28 12:17:45 +01:00
Lee
b9ef918d4c Update Dockerfile
Some checks failed
Publish Docker Image / docker (push) Failing after 39s
2024-09-28 11:13:20 +00:00
Lee
9b39a3a9ac Update Dockerfile
Some checks failed
Publish Docker Image / docker (push) Failing after 31s
2024-09-28 11:11:54 +00:00
Lee
e0d5ae5e66 Update Dockerfile
Some checks failed
Publish Docker Image / docker (push) Failing after 43s
2024-09-28 11:10:12 +00:00
Lee
7714cc614a Update docker/start.sh
Some checks failed
Publish Docker Image / docker (push) Has been cancelled
2024-09-28 11:09:40 +00:00
Lee
0ad26585e4 Merge pull request 'chore(deps): update alpine docker tag to v3.20.3' (#23) from renovate/alpine-3.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m36s
Reviewed-on: #23
2024-09-08 21:44:12 +00:00
2a614a94de chore(deps): update alpine docker tag to v3.20.3 2024-09-06 23:03:29 +00:00
Lee
56000f7e4b Merge pull request 'chore(deps): update alpine docker tag to v3.20.2' (#22) from renovate/alpine-3.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m48s
Reviewed-on: #22
2024-07-30 21:06:38 +00:00
05c2272385 chore(deps): update alpine docker tag to v3.20.2 2024-07-22 22:01:54 +00:00
Lee
f31493fabf Update docker/start.sh
All checks were successful
Publish Docker Image / docker (push) Successful in 59s
2024-07-07 18:16:42 +00:00
Lee
672624abd5 Update docker/start.sh
All checks were successful
Publish Docker Image / docker (push) Successful in 57s
2024-07-07 18:14:18 +00:00
Lee
970b918b8d Update Dockerfile
Some checks failed
Publish Docker Image / docker (push) Has been cancelled
2024-07-07 18:13:52 +00:00
Lee
814a81d74e Update Dockerfile
Some checks failed
Publish Docker Image / docker (push) Failing after 47s
2024-07-07 18:12:46 +00:00
Lee
e037c69a5e Update Dockerfile
All checks were successful
Publish Docker Image / docker (push) Successful in 1m4s
2024-07-07 18:09:13 +00:00
Lee
43f6b0c56e Update renovate.json
Some checks failed
Publish Docker Image / docker (push) Failing after 49s
2024-07-07 18:06:33 +00:00
Lee
1296ce3722 bump depends
Some checks failed
Publish Docker Image / docker (push) Has been cancelled
2024-07-07 18:06:04 +00:00
2039f673ad chore(deps): update docker/build-push-action action to v6
All checks were successful
Publish Docker Image / docker (push) Successful in 1m19s
2024-06-17 10:01:38 +00:00
Lee
ca49cf2a51 Update README.md 2024-02-28 18:37:22 +00:00
Lee
14ce3e887c make nginx build silently
All checks were successful
Publish Docker Image / docker (push) Successful in 1m13s
2024-02-26 17:52:32 +00:00
Lee
b893f23ba5 Merge pull request 'chore(deps): update actions/cache action to v4' (#19) from renovate/actions-cache-4.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m1s
Reviewed-on: #19
2024-02-26 17:49:24 +00:00
Lee
4a5b7a7697 Merge pull request 'chore(deps): update tj-actions/branch-names action to v8' (#18) from renovate/tj-actions-branch-names-8.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m3s
Reviewed-on: #18
2024-02-26 17:48:06 +00:00
Lee
684a894076 Merge pull request 'chore(deps): update alpine docker tag to v3.19.1' (#17) from renovate/alpine-3.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m5s
Reviewed-on: #17
2024-02-26 16:33:44 +00:00
93f49e9326 add default index.html
All checks were successful
Publish Docker Image / docker (push) Successful in 1m7s
2024-02-25 17:37:58 +00:00
fef45ad7f7 chore(deps): update alpine docker tag to v3.19.1 2024-02-01 02:09:49 +00:00
f5f3382d7e chore(deps): update actions/cache action to v4 2024-01-17 17:04:26 +00:00
006ac97c68 fix
All checks were successful
Publish Docker Image / docker (push) Successful in 56s
2024-01-11 05:57:35 +00:00
d9a34b5bdc 7
All checks were successful
Publish Docker Image / docker (push) Successful in 58s
2024-01-11 05:53:55 +00:00
7783e1a557 again
All checks were successful
Publish Docker Image / docker (push) Successful in 57s
2024-01-11 05:51:26 +00:00
7053659cf3 fix?
All checks were successful
Publish Docker Image / docker (push) Successful in 57s
2024-01-11 05:47:45 +00:00
64023f9bc2 Merge branch 'master' of https://git.fascinated.cc/Fascinated/sharex-php-uploader
All checks were successful
Publish Docker Image / docker (push) Successful in 1m3s
2024-01-11 05:44:42 +00:00
9d7ccbda40 add custom 404 page 2024-01-11 05:44:41 +00:00
3e40c88dac chore(deps): update tj-actions/branch-names action to v8 2023-12-31 00:04:50 +00:00
Lee
932b0e7fd9 Merge pull request 'chore(deps): update alpine docker tag to v3.18.5' (#16) from renovate/alpine-3.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m26s
Reviewed-on: #16
2023-11-30 23:03:26 +00:00
c6a9c1406a chore(deps): update alpine docker tag to v3.18.5 2023-11-30 23:02:18 +00:00
c2219d60b9 Merge branch 'master' of https://git.fascinated.cc/Fascinated/sharex-php-uploader
All checks were successful
Publish Docker Image / docker (push) Successful in 1m17s
2023-10-26 12:25:25 +01:00
64c312bb75 bump nginx 2023-10-26 12:25:21 +01:00
8 changed files with 88 additions and 26 deletions

View File

@ -17,13 +17,13 @@ jobs:
steps:
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v7
uses: tj-actions/branch-names@v8
- name: Checkout
uses: actions/checkout@v4
- name: Restore Docker Cache
uses: actions/cache@v3
uses: actions/cache@v4
id: docker-cache
with:
path: /usr/bin/docker
@ -47,14 +47,14 @@ jobs:
password: ${{ secrets.REPO_TOKEN }}
- name: Restore Docker Build Cache
uses: actions/cache@v3
uses: actions/cache@v4
id: build-cache
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx
- name: Build and Push (Latest)
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
if: steps.branch-name.outputs.current_branch == 'master'
with:
push: true
@ -64,7 +64,7 @@ jobs:
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Build and Push (Other Branches)
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
if: steps.branch-name.outputs.current_branch != 'master'
with:
push: true

View File

@ -1,5 +1,5 @@
# Stage 1: Build Nginx
FROM alpine:3.18.4 as builder
FROM alpine:3.20.3 as builder
# Install build dependencies and required tools
RUN apk update && apk upgrade && \
@ -7,12 +7,14 @@ RUN apk update && apk upgrade && \
# Download and build the latest version of Nginx from source
WORKDIR /tmp
RUN wget https://nginx.org/download/nginx-1.25.2.tar.gz
RUN tar -xzvf nginx-1.25.2.tar.gz
WORKDIR /tmp/nginx-1.25.2
RUN ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf
RUN make
RUN make install
RUN wget https://nginx.org/download/nginx-1.27.0.tar.gz && \
tar -xzvf nginx-1.27.0.tar.gz && \
cd nginx-1.27.0 && \
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf && \
make > /dev/null 2>&1 && \
make install > /dev/null 2>&1 && \
make_status=$? && \
if [ $make_status -ne 0 ]; then echo "Nginx build failed"; exit $make_status; fi
# Cleanup unnecessary files
RUN rm -rf /tmp/*
@ -23,20 +25,26 @@ COPY ./docker/nginx.conf /etc/nginx/nginx.conf
# Setup scripts
COPY ./upload.php /tmp/upload.php
COPY ./docker/start.sh /start.sh
COPY ./docker/index.html /tmp/index.html
# Copy public directory
COPY ./public /tmp/public
# Stage 2: Create a smaller production image
FROM alpine:3.18.4
FROM alpine:3.20.3
# Copy Nginx and PHP-FPM binaries and configurations from the builder stage
COPY --from=builder /usr/local/nginx /usr/local/nginx
COPY --from=builder /usr/local/sbin/nginx /usr/local/sbin/nginx
COPY --from=builder /etc/nginx /etc/nginx
COPY --from=builder /tmp/upload.php /tmp/upload.php
COPY --from=builder /tmp/index.html /tmp/index.html
COPY --from=builder /start.sh /start.sh
COPY --from=builder /tmp/public /tmp/public
# Install runtime dependencies
RUN apk update && apk upgrade && \
apk add --no-cache php81 php81-fpm php81-gd pcre
apk add --no-cache php83 php83-fpm php83-gd pcre
# Cleanup unnecessary files
RUN rm -rf /var/cache/apk/*

View File

@ -1,4 +1,4 @@
# ShareX Upload Script
# ShareX Uploader
This PHP script allows you to easily upload ShareX screenshots and videos. It includes token authentication for security and can handle various image file types by converting them to WebP format for efficient storage.

22
docker/index.html Normal file
View File

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ShareX Uploader</title>
<!-- TailwindCSS -->
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body
class="h-screen bg-neutral-900 text-white flex flex-col text-center items-center p-4 gap-2"
>
<p class="text-blue-400 text-4xl">ShareX Uploader</p>
<p class="text-gray-400 text-xl">Created by ImFascinated</p>
<div>
<a href="https://s.fascinated.cc/s/sharex-uploader">Source</a>
<a href="https://s.fascinated.cc/s/gitea">Gitea</a>
<a href="https://s.fascinated.cc/s/github">GitHub</a>
</div>
</body>
</html>

View File

@ -39,6 +39,12 @@ http {
client_max_body_size 500M; # Will get replaced by the environment variable MAX_UPLOAD_SIZE
# Fallback 404 page
location = /not-found.html {
internal;
root /tmp/public;
}
# Upload endpoint
location /upload.php {
try_files $uri =404;
@ -60,6 +66,8 @@ http {
open_file_cache_min_uses 1;
open_file_cache_errors on;
error_page 404 /not-found.html;
# Serve the file directly from disk
try_files $uri $uri/ =404;
}

View File

@ -14,16 +14,24 @@ else
echo "Upload script was not found, copying it."
fi
echo "Checking if default index.html exists in /var/www/html"
if [ -f "/var/www/html/index.html" ]; then
echo "Upload script was found, ignoring copy."
else
cp /tmp/index.html /var/www/html
echo "Default index.html was not found, copying it."
fi
# Letting php know that we are running in docker
echo "env[DOCKER] = true" >> /etc/php81/php-fpm.d/www.conf
echo "clear_env = no" >> /etc/php81/php-fpm.d/www.conf
echo "env[DOCKER] = true" >> /etc/php83/php-fpm.d/www.conf
echo "clear_env = no" >> /etc/php83/php-fpm.d/www.conf
# Create the directory for PHP socket
mkdir -p /run/php
# Set php-fpm to listen on socket
touch /run/php/php.sock
sed -i 's/^listen = .*/listen = \/run\/php\/php.sock/' /etc/php81/php-fpm.d/www.conf
sed -i 's/^listen = .*/listen = \/run\/php\/php.sock/' /etc/php83/php-fpm.d/www.conf
echo "Setting permissions for upload script"
chmod 777 /var/www/html/upload.php
@ -31,15 +39,15 @@ chmod 777 /var/www/html/upload.php
echo "Setting max upload size to ${MAX_UPLOAD_SIZE}"
# Set max upload size for php
sed -i "s/^upload_max_filesize = .*/upload_max_filesize = ${MAX_UPLOAD_SIZE}/" /etc/php81/php.ini
sed -i "s/^post_max_size = .*/post_max_size = ${MAX_UPLOAD_SIZE}/" /etc/php81/php.ini
sed -i "s/^upload_max_filesize = .*/upload_max_filesize = ${MAX_UPLOAD_SIZE}/" /etc/php83/php.ini
sed -i "s/^post_max_size = .*/post_max_size = ${MAX_UPLOAD_SIZE}/" /etc/php83/php.ini
# Set max upload size for nginx
sed -i "s/client_max_body_size 500M;/client_max_body_size ${MAX_UPLOAD_SIZE};/" /etc/nginx/nginx.conf
function start() {
echo "Starting PHP & Nginx"
php-fpm81 &&
php-fpm83 &&
chmod 777 /run/php/php.sock &&
/usr/local/sbin/nginx -g 'daemon off;'
}

19
public/not-found.html Normal file
View File

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>File Not Found</title>
<!-- TailwindCSS -->
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body
class="h-screen bg-neutral-900 text-white flex flex-col text-center justify-center items-center p-4 gap-2"
>
<p class="text-red-400 text-3xl">404 - File Not Found</p>
<p class="text-gray-400 text-xl">
We're sorry, the file you requested could not be found.
</p>
</body>
</html>

View File

@ -1,6 +1,3 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>Fascinated/renovate-config"
]
"extends": ["config:recommended", ":dependencyDashboard"]
}