diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ba8cc3a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM quay.io/fedora/fedora-minimal +WORKDIR /usr/local/app + +RUN dnf install -y unzip lld autogen alsa-lib-devel pkg-config make openssl-devel gcc g++ curl wget git webkit2gtk4.1-devel +# Suboptimal libs: +# - 'webkit2gtk4.1-devel': seems to be outdated + +RUN curl -o onetagger.zip -L https://github.com/Marekkon5/onetagger/archive/refs/tags/1.7.0.zip \ + && mkdir onetagger \ + && unzip onetagger.zip -d onetagger \ + && rm onetagger.zip + +COPY ./src/build.sh ./ + +ENTRYPOINT ["/usr/bin/bash","./build.sh"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..c845011 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# Onetagger-Docker + +Dockerfile & composer to build onetagger in a container + +## Building + +```bash +docker build -t onetagger-docker/linux-x64:dev . +``` + +## Running & building + +```bash +docker compose up +``` + +Build output is written to `./target/release/onetagger` on the host or `/usr/local/app/onetagger/target/release/onetagger` on the container + +## Running without building + +```bash +docker run --rm -it --entrypoint /usr/bin/bash -v ./target:/usr/local/app/onetagger/target/ onetagger-docker/linux-x64:dev +# you can still start the build by running './build.sh' +``` + +## Troubleshooting + +- If the files are not written to the host after / during the build, try deleting `./build` diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..09af80f --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,8 @@ +services: + onetagger-docker: + image: onetagger-docker/linux-x64:dev + restart: no + build: + context: . + volumes: + - ./build:/usr/local/app/target/release/onetagger diff --git a/src/build.sh b/src/build.sh new file mode 100755 index 0000000..e2a4cf0 --- /dev/null +++ b/src/build.sh @@ -0,0 +1,12 @@ +# Instructions from https://github.com/Marekkon5/onetagger?tab=readme-ov-file#compilling + +cd onetagger + +# build frontend +cd client +pnpm i +pnpm run build +cd .. + +# build cli +cargo build --release