Compare commits

..

70 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
Lee
6354a96024 Merge pull request 'chore(deps): update docker/setup-buildx-action action to v3' (#15) from renovate/docker-setup-buildx-action-3.x into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m32s
Reviewed-on: #15
2023-10-15 03:51:52 +00:00
febf41c262 chore(deps): update docker/setup-buildx-action action to v3 2023-10-15 03:02:45 +00:00
Lee
845833c61d Merge pull request 'chore(deps): update actions/checkout action to v4' (#10) from renovate/actions-checkout-4.x into master
Some checks failed
Publish Docker Image / docker (push) Failing after 15m0s
Reviewed-on: #10
2023-10-15 02:22:39 +00:00
Lee
8bcd2c0412 Merge pull request 'chore(deps): update dependency ubuntu to v22' (#11) from renovate/ubuntu-22.x into master
Some checks are pending
Publish Docker Image / docker (push) Waiting to run
Reviewed-on: #11
2023-10-15 02:22:34 +00:00
Lee
273dd74cf9 Merge pull request 'chore(deps): update docker/build-push-action action to v5' (#13) from renovate/docker-build-push-action-5.x into master
Some checks failed
Publish Docker Image / docker (push) Has been cancelled
Reviewed-on: #13
2023-10-15 02:22:26 +00:00
Lee
82900551fd Merge pull request 'chore(deps): update docker/login-action action to v3' (#14) from renovate/docker-login-action-3.x into master
Some checks failed
Publish Docker Image / docker (push) Has been cancelled
Reviewed-on: #14
2023-10-15 02:22:14 +00:00
b806eb43b8 chore(deps): update docker/login-action action to v3 2023-10-15 02:12:34 +00:00
f8f9809ab0 chore(deps): update docker/build-push-action action to v5 2023-10-15 02:12:32 +00:00
6f9602e5b6 chore(deps): update dependency ubuntu to v22 2023-10-15 01:55:31 +00:00
aa6489c971 chore(deps): update actions/checkout action to v4 2023-10-15 01:55:29 +00:00
Lee
353c55a1dd Merge pull request 'Configure Renovate' (#9) from renovate/configure into master
All checks were successful
Publish Docker Image / docker (push) Successful in 1m1s
Reviewed-on: #9
2023-10-15 01:50:13 +00:00
2a2b8e02a6 chore(deps): add renovate.json 2023-10-15 01:48:29 +00:00
a05a8f973c remove php copy to prod image
All checks were successful
Publish Docker Image / docker (push) Successful in 58s
2023-10-13 20:15:35 +01:00
a0643f8083 fix startup part 2
Some checks failed
Publish Docker Image / docker (push) Failing after 45s
2023-10-13 20:14:02 +01:00
7a29603a30 fix startup error
All checks were successful
Publish Docker Image / docker (push) Successful in 1m2s
2023-10-13 20:08:41 +01:00
b2b386b33a update wording
All checks were successful
Publish Docker Image / docker (push) Successful in 59s
2023-10-13 19:54:21 +01:00
Lee
f9622e8081 Merge pull request 'Update depends' (#8) from development into master
All checks were successful
Publish Docker Image / docker (push) Successful in 58s
Reviewed-on: #8
2023-10-13 18:51:48 +00:00
3e0fc4fd53 update readme 2023-07-08 06:18:04 +01:00
Lee
b9cbfef9be Merge pull request 'fix workflow file' (#7) from development into master
All checks were successful
Publish Docker Image / docker (push) Successful in 24s
Reviewed-on: #7
2023-07-08 00:36:07 +00:00
Lee
6e71267e6a Merge pull request 'Updating build workflow' (#6) from development into master
All checks were successful
Publish Docker Image / docker (push) Successful in 24s
Reviewed-on: #6
2023-07-08 00:23:50 +00:00
Lee
e6e4481412 Delete .gitea/workflows/upload-image-dev.yaml
All checks were successful
/ docker (push) Successful in 34s
2023-07-08 00:23:40 +00:00
Lee
f3febd737d Merge pull request 'Migrate to Alpine' (#5) from development into master
All checks were successful
/ docker (push) Successful in 29s
Reviewed-on: #5
2023-07-07 23:54:10 +00:00
Lee
780ea18f5b Merge pull request 'Many improvements to the server' (#4) from development into master
All checks were successful
/ docker (push) Successful in 1m50s
Reviewed-on: #4
2023-07-07 23:07:19 +00:00
Lee
48265f6d1b Update README.md
All checks were successful
/ docker (push) Successful in 1m57s
2023-07-06 14:05:00 +00:00
Lee
b231e82a95 Update README.md
All checks were successful
/ docker (push) Successful in 2m8s
2023-07-06 14:04:48 +00:00
Lee
5799511916 Merge pull request 'Switch image conversion to Imagick' (#3) from development into master
All checks were successful
/ docker (push) Successful in 2m5s
Reviewed-on: #3
2023-07-06 01:35:42 +00:00
4ebb8fafe2 update dev action name
All checks were successful
/ docker (push) Successful in 2m6s
2023-07-06 01:07:35 +01:00
Lee
7bd835de54 Merge pull request 'add dev image' (#2) from development into master
All checks were successful
/ docker (push) Successful in 1m56s
Reviewed-on: #2
2023-07-06 00:06:11 +00:00
8 changed files with 97 additions and 29 deletions

@ -13,17 +13,17 @@ on:
jobs: jobs:
docker: docker:
runs-on: ubuntu-20.04 runs-on: ubuntu-22.04
steps: steps:
- name: Get branch name - name: Get branch name
id: branch-name id: branch-name
uses: tj-actions/branch-names@v7 uses: tj-actions/branch-names@v8
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Restore Docker Cache - name: Restore Docker Cache
uses: actions/cache@v3 uses: actions/cache@v4
id: docker-cache id: docker-cache
with: with:
path: /usr/bin/docker path: /usr/bin/docker
@ -38,23 +38,23 @@ jobs:
echo "Done" echo "Done"
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v3
- name: Login to Repo - name: Login to Repo
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
username: ${{ secrets.REPO_USERNAME }} username: ${{ secrets.REPO_USERNAME }}
password: ${{ secrets.REPO_TOKEN }} password: ${{ secrets.REPO_TOKEN }}
- name: Restore Docker Build Cache - name: Restore Docker Build Cache
uses: actions/cache@v3 uses: actions/cache@v4
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@v4 uses: docker/build-push-action@v6
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@v4 uses: docker/build-push-action@v6
if: steps.branch-name.outputs.current_branch != 'master' if: steps.branch-name.outputs.current_branch != 'master'
with: with:
push: true push: true

@ -1,18 +1,20 @@
# Stage 1: Build Nginx # Stage 1: Build Nginx
FROM alpine:3.18.4 as builder FROM alpine:3.20.3 as builder
# Install build dependencies and required tools # Install build dependencies and required tools
RUN apk update && apk upgrade && \ RUN apk update && apk upgrade && \
apk add --no-cache php81 php81-fpm php81-gd build-base pcre-dev openssl-dev zlib-dev linux-headers apk add --no-cache build-base pcre-dev openssl-dev zlib-dev linux-headers
# 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.2.tar.gz RUN wget https://nginx.org/download/nginx-1.27.0.tar.gz && \
RUN tar -xzvf nginx-1.25.2.tar.gz tar -xzvf nginx-1.27.0.tar.gz && \
WORKDIR /tmp/nginx-1.25.2 cd nginx-1.27.0 && \
RUN ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf && \
RUN make make > /dev/null 2>&1 && \
RUN make install 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 # Cleanup unnecessary files
RUN rm -rf /tmp/* RUN rm -rf /tmp/*
@ -23,20 +25,26 @@ 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
# Stage 2: Create a smaller image # Copy public directory
FROM alpine:3.18.4 COPY ./public /tmp/public
# Stage 2: Create a smaller production image
FROM alpine:3.20.3
# 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 /etc/nginx /etc/nginx COPY --from=builder /etc/nginx /etc/nginx
COPY --from=builder /etc/php81 /etc/php81
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
# Install runtime dependencies # Install runtime dependencies
RUN apk update && apk upgrade && \ RUN apk update && apk upgrade && \
apk add --no-cache php81 php81-fpm php81-gd apk add --no-cache php83 php83-fpm php83-gd pcre
# Cleanup unnecessary files # Cleanup unnecessary files
RUN rm -rf /var/cache/apk/* RUN rm -rf /var/cache/apk/*

@ -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. 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.
@ -15,7 +15,7 @@ This PHP script allows you to easily upload ShareX screenshots and videos. It in
## Installation ## Installation
1. Copy the `docker-compose.yml` file to your server. 1. Copy the `docker-compose.yml` file to your server.
2. Edit the `docker-compose.yml` file and change `MAX_UPLOAD_SIZE` to the maximum file size you want to allow, and update `./uploads` to where you want to store the files. 2. Edit the `docker-compose.yml` file and change environment variables to what you need, and update `./uploads` to where you want to store the files.
3. Run `docker-compose up -d` to start the container. 3. Run `docker-compose up -d` to start the container.
4. Go to where the files are stored and edit the variables in `upload.php` to your liking. 4. Go to where the files are stored and edit the variables in `upload.php` to your liking.
5. Run `docker-compose restart` to restart the container. 5. Run `docker-compose restart` to restart the container.

22
docker/index.html Normal 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>

@ -39,6 +39,12 @@ http {
client_max_body_size 500M; # Will get replaced by the environment variable MAX_UPLOAD_SIZE 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 # Upload endpoint
location /upload.php { location /upload.php {
try_files $uri =404; try_files $uri =404;
@ -60,6 +66,8 @@ http {
open_file_cache_min_uses 1; open_file_cache_min_uses 1;
open_file_cache_errors on; open_file_cache_errors on;
error_page 404 /not-found.html;
# Serve the file directly from disk # Serve the file directly from disk
try_files $uri $uri/ =404; try_files $uri $uri/ =404;
} }

@ -14,16 +14,24 @@ 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/php83/php-fpm.d/www.conf
echo "clear_env = no" >> /etc/php81/php-fpm.d/www.conf echo "clear_env = no" >> /etc/php83/php-fpm.d/www.conf
# Create the directory for PHP socket # Create the directory for PHP socket
mkdir -p /run/php mkdir -p /run/php
# Set php-fpm to listen on socket # Set php-fpm to listen on socket
touch /run/php/php.sock 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" echo "Setting permissions for upload script"
chmod 777 /var/www/html/upload.php 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}" echo "Setting max upload size to ${MAX_UPLOAD_SIZE}"
# Set max upload size for php # 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/^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/php81/php.ini sed -i "s/^post_max_size = .*/post_max_size = ${MAX_UPLOAD_SIZE}/" /etc/php83/php.ini
# Set max upload size for nginx # 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 sed -i "s/client_max_body_size 500M;/client_max_body_size ${MAX_UPLOAD_SIZE};/" /etc/nginx/nginx.conf
function start() { function start() {
echo "Starting PHP & Nginx" echo "Starting PHP & Nginx"
php-fpm81 && php-fpm83 &&
chmod 777 /run/php/php.sock && chmod 777 /run/php/php.sock &&
/usr/local/sbin/nginx -g 'daemon off;' /usr/local/sbin/nginx -g 'daemon off;'
} }

19
public/not-found.html Normal 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>

3
renovate.json Normal file

@ -0,0 +1,3 @@
{
"extends": ["config:recommended", ":dependencyDashboard"]
}