Sharrr in a container?

g_damian@lemmy.world to Selfhosted@lemmy.world – 26 points –
Self-hosting on Docker · Issue #31 · stophecom/sharrr-svelte
github.com

Has anyone ever tried to run sharrr in a container?

8

There are build instructions in the readme. What's stopping you?

Knowledge?

I know how to deploy a container with docker compose but I don’t know how to build it.

I’m a .net developer and I didn’t even know you can build it into a container.

You can do it bro. Dockerfiles are basically just shell scripts with a few extras.

It uses npm to build so start with a node base container. You can find them on docker hub. Alpine-based images are a good starting point.

FROM appdynamics/nodejs-agent:23.5.0-19-alpine 

RUN git clone https://github.com/stophecom/sharrr-svelte.git && \ 
    cd sharrr-svelt/ && \
    npm run build

If you need to access files from outside of the container, include a VOLUME line. If it needs to be accessible from a specific network port, add an EXPOSE line. Add a CMD line at the end to start whatever command needs to be run to start the process.

Save your Dockerfile and build.

docker build . -t my-sharrr-image

I wouldn't use AppD's node agent as a starting point unless you're planning to use AppD. Which you shouldn't unless you're a big business still talking about future plans to move to the cloud.

Picking a random image from dockerhub isn't the best for security or reliability. You're better off sticking to official images offered by a large, well known project. There's even an official node image https://hub.docker.com/_/node/

Figured this would be one of the responses. Thanks. I don't interact with node very often. I assumed there was a better option but wasn't sure which.. This is just the first result.

Read up on it a bit, it's fairly easy. It's similar to writing compose files but those are for using the image, dockerfiles are how you put it together. You get to decide very similar things to compose — what image to use, what ports to expose — but you also get to run commands to set up the insides of the image.

You do have to know a bit of Linux and how to setup the software you want to use though.

repo's readme mentions having support for docker...