Compare commits

..

No commits in common. "2039f673ad469cec0f4b0a463780b94bd9823a8d" and "d9a34b5bdc0026f14b0bac49c7daf6deb5f6fd6e" have entirely different histories.

8 changed files with 85 additions and 50 deletions

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

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

@ -1,4 +1,4 @@
# ShareX Uploader # ShareX Upload Script
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. 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.

@ -1,22 +0,0 @@
<!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>

@ -44,7 +44,13 @@ http {
internal; internal;
root /tmp/public; root /tmp/public;
} }
location /public {
root /tmp/public;
try_files $uri $uri/ =404;
}
# Upload endpoint # Upload endpoint
location /upload.php { location /upload.php {
try_files $uri =404; try_files $uri =404;

@ -14,14 +14,6 @@ else
echo "Upload script was not found, copying it." echo "Upload script was not found, copying it."
fi 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 # Letting php know that we are running in docker
echo "env[DOCKER] = true" >> /etc/php81/php-fpm.d/www.conf echo "env[DOCKER] = true" >> /etc/php81/php-fpm.d/www.conf
echo "clear_env = no" >> /etc/php81/php-fpm.d/www.conf echo "clear_env = no" >> /etc/php81/php-fpm.d/www.conf

63
public/assets/tailwind.js Normal file

File diff suppressed because one or more lines are too long

@ -6,7 +6,7 @@
<title>File Not Found</title> <title>File Not Found</title>
<!-- TailwindCSS --> <!-- TailwindCSS -->
<script src="https://cdn.tailwindcss.com"></script> <script src="./assets/tailwind.js"></script>
</head> </head>
<body <body
class="h-screen bg-neutral-900 text-white flex flex-col text-center justify-center items-center p-4 gap-2" class="h-screen bg-neutral-900 text-white flex flex-col text-center justify-center items-center p-4 gap-2"