Giter Club home page Giter Club logo

Comments (14)

Valentinbist avatar Valentinbist commented on May 27, 2024 1

Thanks alot it works now. I had to explicitly link the .env even though it was in the correct directory...

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

Can you share your used docker-compose.yml file for debugging?

Edit:
I see - you try to run only the doko3000 container, but it needs an additional couchdb container for data storage.
A working .env-file and docker-compose.yml-file combo is this one, if there is already a public network web available:

.env

# name of the server host to be used at least as cors_allowed_origins in flask
HOST=doko3000.example.com
# secret key for flask sessions
SECRET_KEY=very-very-secret
# CouchDB user used by doko3000 and couchdb containers
COUCHDB_USER=admin
# CouchDB password used by doko3000 and couchdb containers
COUCHDB_PASSWORD=doko3000

# for traefik
SERVICE=doko3000

docker-compose.yml

version: '3.9'

networks:
  doko3000:
    name: doko3000
  web:
    external:
      name: web

volumes:
  couchdb-config:
  couchdb-data:

services:
  doko3000:
    image: henriwahl/doko3000:2.4.0
    container_name: doko3000
    restart: always
    networks:
      - doko3000
      - web
    volumes:
      - /etc/localtime:/etc/localtime:ro
    environment:
      - HOST
      - SECRET_KEY
      - COUCHDB_USER
      - COUCHDB_PASSWORD
      - DEBUG
    depends_on:
      - couchdb
    labels:
      - traefik.enable=true
      - traefik.docker.network=web
      # http
      - traefik.http.routers.${SERVICE}.rule=Host("${HOST}")
      - traefik.http.routers.${SERVICE}.service=${SERVICE}
      - traefik.http.routers.${SERVICE}.entrypoints=http
      - traefik.http.services.${SERVICE}.loadbalancer.server.port=5000
      # https
      - traefik.http.routers.${SERVICE}-https.rule=Host("${HOST}")
      - traefik.http.routers.${SERVICE}-https.tls=true
      - traefik.http.routers.${SERVICE}-https.service=${SERVICE}-https
      - traefik.http.routers.${SERVICE}-https.entrypoints=https
      - traefik.http.services.${SERVICE}-https.loadbalancer.server.port=5000
      # letsencrypt
      - traefik.http.routers.${SERVICE}-https.tls.certresolver=letsencrypt
      # redirect http -> https
      - traefik.http.routers.${SERVICE}.middlewares=${SERVICE}-to-https
      - traefik.http.middlewares.${SERVICE}-to-https.redirectscheme.scheme=https

  couchdb:
    image: couchdb
    container_name: doko3000-couchdb
    restart: always
    volumes:
      - couchdb-data:/opt/couchdb/data
      - couchdb-config:/opt/couchdb/etc/local.d
      - /etc/localtime:/etc/localtime:ro
    environment:
      - COUCHDB_USER
      - COUCHDB_PASSWORD
    networks:
      - doko3000

If this setup cannot be applied in your case we surely could work out a more simpler one without Let'sEncrypt and traefik. For reference there are also some more setups available at https://github.com/HenriWahl/doko3000/tree/master/docker.

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

I added a basic docker-compose.yml file at https://github.com/HenriWahl/doko3000/blob/master/docker/docker-compose.yml. Together with an .env derived from https://github.com/HenriWahl/doko3000/blob/master/docker/default.env it makes up a running instance.

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

Did you achieve any progress regarding this issue?

from doko3000.

Valentinbist avatar Valentinbist commented on May 27, 2024

Hi, sorry to get back late. I am on vacation right now and will get back to this as soon as I am back on my PC

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

Any news or may I close this issue?

from doko3000.

Valentinbist avatar Valentinbist commented on May 27, 2024

Sorry to only get back to you now. To be honest, I forgot about this, since we started playing in person again.
However, I will retry the installation hopefully before the weekend and get back to you with updates and preferably a working installation thanks to your help.

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

Same here - being back in the biergarten makes doko3000 appear less important. 🍻

from doko3000.

Valentinbist avatar Valentinbist commented on May 27, 2024

I just now had another try. The installation kind of succeeded. However, the couchdb container keeps restarting because I did not provide it with the login info set in the .env file I guess. To be more exact: ERROR: CouchDB 3.0+ will no longer run in "Admin Party"
mode. You MUST specify an admin user and
password, either via your own .ini file mapped
into the container at /opt/couchdb/etc/local.ini
or inside /opt/couchdb/etc/local.d, or with
"-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password"
to set it via "docker run".

Is this behavior expected and I just need to "connect" an .ini file or is there a smarter way you supposed this to be done?
I am using your .env file with password and username modifications and without. Also i changed the secret.
Further, I used the default ./docker/docker-compose.yml file and changed the port from 80 to something like 8082.

Thanks in advance!

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

Yes, CouchDB does not run without this DB settings but they can be easily provided via docker-compose.yml. You don't need an .ini file - the environment variables will be enough. Just like in the example above which is from a running league server.

Edit: How dows your .env file look like?

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

Thanks alot it works now. I had to explicitly link the .env even though it was in the correct directory...

Just one question: what did you mean with linking the .env file?

from doko3000.

Valentinbist avatar Valentinbist commented on May 27, 2024

I used this (https://docs.docker.com/compose/environment-variables/#using-the---env-file--option) argument with docker compose, even though the .env was in the project directory. Else it would not load the .env...

from doko3000.

HenriWahl avatar HenriWahl commented on May 27, 2024

This is strange... works for me without --env-file option.
What version of docker-compose do you use?

from doko3000.

Valentinbist avatar Valentinbist commented on May 27, 2024

Yeah it should i think in newer Versions... A really outdated one I'd guess, cant check right now...

from doko3000.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.