Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] about container configuration #123

Open
Odyno opened this issue Jul 7, 2024 · 7 comments
Open

[Question] about container configuration #123

Odyno opened this issue Jul 7, 2024 · 7 comments

Comments

@Odyno
Copy link

Odyno commented Jul 7, 2024

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
Copy link
Member

mitchray commented Jul 7, 2024

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

@kuzi-moto
Copy link
Member

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
Copy link
Member

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
Copy link
Author

Odyno commented Jul 8, 2024

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
Copy link
Author

Odyno commented Jul 8, 2024

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
Copy link
Member

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

  • master (Ampache master branch, this branch is used for the latest tag)
  • develop (Amapche develop branch)
  • preview (Ampache patch7 branch, This is not regularly used/updated)

nosql docker branches

  • nosql (Ampache master branch)
  • nosql-develop (Amapche develop branch)
  • nosql-preview (Ampache patch7 branch, This is not regularly used/updated)

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
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants