ampache / ampache-docker

Ampache docker package
http://ampache.org
96 stars 69 forks source link

[Question] about container configuration #123

Open Odyno opened 4 months ago

Odyno commented 4 months ago

Hello!

I have been using this software for 3 months now and I am very pleased with it. I use it on my phone, in the car, on the TV—really great work. My setup involves running it in Docker, behind an Nginx reverse proxy exposed to the internet under HTTPS.

This configuration keeps the software running 24/7, and I am experiencing the same error as in #115. I tried to discover the reason and noticed that you are using Supervisord with a single container that runs all the services.

Do you have a specific reason for this choice?

I understand that it is very useful to have an all-in-one solution, but wouldn't it be more convenient to split the services into multiple containers as suggested by Docker itself? (See https://docs.docker.com/config/containers/multi-service_container)

mitchray commented 4 months ago

If it helps there is the nosql tag which will let you BYO database ampache/ampache:nosql

kuzi-moto commented 4 months ago

To elaborate, I believe the decision to use an all-in-one image by default was to make it easier to deploy for newcomers.

lachlan-00 commented 4 months ago

The reason is that's what it was how the container was set up when I took over. I don't like to change things dramatically when they're already in use.

But i'm always happy to do more things or add different configs under different tags.

Odyno commented 4 months ago

I plan to take the configuration and try to set it up by dividing the Docker into db/apache/cron, perhaps using the same pattern as Nextcloud.

Are you interested? I am more than happy to share these things, but I don't want to be too intrusive. Do you have any recommendations or suggestions?

Odyno commented 4 months ago

Suggestions like: which branch should I start with? Does each branch use a different Docker image, or are they all basically the same with just minor differences? image

lachlan-00 commented 4 months ago

it's mostly split into 2 structural types.

the default combined version and a nosql version.

Then each tag has an ampache version, stable, develop, etc.

default docker branches

nosql docker branches

updating

When i update a branch for ampache release or minor fixes i start at master and then merge into each branch in order of stability

master -> develop -> preview

When i make any crazy changes like updating the container os or changing the structure i go backwards.

preview (if in use) -> develop -> master

creating a new branch.

I would branch from master and create your own work off that branch.

I don't know what name you would give it but it would be prefixed for the develop and preview versions. (e.g. split-develop)

(I'm sure there's a better name than split but you get hte idea.)

lachlan-00 commented 4 months ago

I plan to take the configuration and try to set it up by dividing the Docker into db/apache/cron, perhaps using the same pattern as Nextcloud.

Are you interested? I am more than happy to share these things, but I don't want to be too intrusive. Do you have any recommendations or suggestions?

Always interested a lot of people have helped out in this repo and made things a lot better that i couldn't do myself.

Make a change in your own repo, we pick a branch name and i'll make the branches for your pull using master.

Then i just add it to my build scripts in my admin repo to push to docker hub.