Compare commits

..

11 Commits

Author SHA1 Message Date
Cory Sayles 3edd9bd1ca
Docker build - Just for fun (#203)
* Adding files to run in docker

* Updating build and run scripts with usage

* Updating build and run scripts to check for docker

* Fixing commented code

* Added docker compose file and added instructions
2024-08-05 09:54:32 +02:00
Deliable 586205e678 Keep Potato up to date 2024-01-26 20:55:22 +01:00
Eymen Sevil cf8c3b0146 Plugin version update 2022-10-25 16:03:25 +02:00
Trent Hensler 8e4e9efc87
Merge pull request #173 from rfl890/patch-1
Update potato software
2022-03-11 11:16:58 -06:00
Trent Hensler ba22d0118c
Merge pull request #174 from SuperS123/patch-1
Delete Contributers.md
2022-03-11 11:16:21 -06:00
SuperS123 535378886f
Delete Contributors.md 2022-03-09 10:11:34 -05:00
rfl890 4ab24fd790
Update potato software
The potato needs an upgrade
Parallel with: 21c3dcd7ec
2021-12-28 20:18:23 -05:00
Trent Hensler 21c3dcd7ec
Merge pull request #165 from SuperS123/patch-1
Update Potato Version
2021-10-04 11:19:39 -05:00
SuperS123 f94ca0239c
Update Potato.java
Potato update.
2021-10-03 20:18:30 -04:00
Trent Hensler c140e1e4df
Merge pull request #150 from SkepticalPotato2k/SkepticalPotato2k
Add Me Pls
2021-08-06 18:56:43 -05:00
SkepticalPotato2k 4bf712574e add 2021-02-24 22:01:20 +05:30
8 changed files with 137 additions and 6 deletions

4
.dockerignore Normal file
View File

@ -0,0 +1,4 @@
# .dockerignore
.git
README.md
LICENSE

2
.env Normal file
View File

@ -0,0 +1,2 @@
# Change this to --vegan if you want a vegan potato
VEGAN="--nonvegan"

27
Dockerfile.spud Normal file
View File

@ -0,0 +1,27 @@
########### Phase 1 - Compile ###########
FROM maven:3.9.8-eclipse-temurin-8-alpine AS potato-builder
# Set the working directory and copy src
WORKDIR /usr/src/Potato
COPY . /usr/src/Potato/
# Build with Maven
RUN mvn clean install;
########### Phase 2 - Package ###########
FROM eclipse-temurin:21
# Can be overridden with `docker run -e VEGAN="--vegan"`
ENV VEGAN=""
# Make am appropriate user name
RUN useradd -u 500 mrpotatohead
USER mrpotatohead
WORKDIR /home/mrpotatohead
# Cook this potato right every time
COPY --from=potato-builder /usr/src/Potato/target /home/mrpotatohead/target
# Allow user to pass in an argument when running the container
CMD ["sh","-c","java -jar target/Potato.jar ${VEGAN}"]

24
docker-compose.yaml Normal file
View File

@ -0,0 +1,24 @@
# HOW TO BUILD & RUN THE POTATO IMAGE
# 1. Run the potato-build.sh script and pass in an optional tag for the container
# e.g. ./potato-build.sh 1.0.0
# 1a. Run the potato-run.sh script and pass in an optional prepare type argument
# e.g. ./potato-run.sh "--vegan"
# 2. You can run using docker compose run
# e.g. docker compose run --build potato (Builds image before running)
# e.g. docker compose run potato (if you already built it)
# e.g. docker compose run potato --rm (removes the container upon exit)
# 2a. To pass in an argument, either edit the .env file,
# or set a local environment variable: e.g. export VEGAN="--vegan"
# 3. You can run using docker compose up.
# e.g. docker compose up
# 3a. Make sure to clean up containers since compose up doesn't have a --rm option
# e.g. docker container rm potato-potato-1
services:
potato:
build:
context: .
dockerfile: ./Dockerfile.spud
environment:
- VEGAN=${VEGAN}

10
pom.xml
View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.drtshock</groupId>
<artifactId>potato</artifactId>
<version>1.7.5</version>
<version>2.0.0</version>
<name>Potato</name>
<packaging>jar</packaging>
<build>
@ -11,7 +11,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<version>3.12.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
@ -20,7 +20,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<version>3.3.0</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
@ -34,12 +34,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<version>3.6.3</version>
</plugin>
<plugin>
<groupId>net.orfjackal.retrolambda</groupId>
<artifactId>retrolambda-maven-plugin</artifactId>
<version>2.5.3</version>
<version>2.5.7</version>
<executions>
<execution>
<goals>

34
potato-build.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
# HOW TO BUILD THE POTATO IMAGE
# 1. Run this script and pass in an optional tag for the container
# e.g. ./potato-build.sh 1.0.0
# 2. Alternatively, you can can run using docker compose
# e.g. docker compose run --build potato
# 2a. To pass in an argument, either edit the .env file,
# or set a local environment variable: e.g. export VEGAN="--vegan"
# Tag for the built container
TAG=latest
if ! [ -z $1 ]; then
if [[ $1 == "-h" || $1 == "?" ]]; then
# Print usage
echo "Usage: $0 <tag>"
echo "Example: $0 1.0.0"
exit 0
else
TAG=$1
fi
fi
# Check if Docker is installed
if ! [ -x "$(command -v docker)" ]; then
echo "You need to install Docker."
exit 1
else
echo "Using tag: '$TAG'"
fi
# Perform the build
docker build -t potato:$TAG -f Dockerfile.spud .

40
potato-run.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/bash
# HOW TO RUN THE POTATO IMAGE
# 1. Run this script and pass in an optional prepare type argument
# e.g. ./potato-run.sh "--vegan"
# 2. You can run using docker compose run
# e.g. docker compose run --build potato (builds the container before running)
# e.g. docker compose run potato (if you already built it)
# e.g. docker compose run potato --rm (removes the container upon exit)
# 2a. To pass in an argument, either edit the .env file,
# or set a local environment variable: e.g. export VEGAN="--vegan"
# 3. You can run using docker compose up and passing in the --build arg
# e.g. docker compose up --build
# 3a. Make sure to clean up containers since compose up doesn't have a --rm option
# e.g. docker container rm potato-potato-1
# Preparation type for the built potato container
PREPARE_TYPE="--nonvegan"
if ! [ -z $1 ]; then
if [[ $1 == "-h" || $1 == "?" ]]; then
# Print usage
echo "Usage: $0 <prepare type>"
echo "Example: $0 --vegan"
exit 0
else
PREPARE_TYPE=$1
fi
fi
# Check if Docker is installed
if ! [ -x "$(command -v docker)" ]; then
echo "You need to install Docker."
exit 1
else
echo "Running Potato with argument: \"$PREPARE_TYPE\""
fi
# Perform the build
docker run -it --name potato-in-a-container --rm -e VEGAN=${PREPARE_TYPE} potato:latest

View File

@ -88,7 +88,7 @@ public class Potato implements Tuber {
final URL url = new URL("https://www.google.com/search?q=potato");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.addRequestProperty("User-Agent", "Potato/1.7.5");
connection.addRequestProperty("User-Agent", "Potato/2.0.0");
connection.connect();
int inOven = connection.getResponseCode();
long bakeTime = (System.currentTimeMillis() - begin);