Comments (14)
Thanks alot it works now. I had to explicitly link the .env even though it was in the correct directory...
from doko3000.
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.
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.
Did you achieve any progress regarding this issue?
from doko3000.
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.
Any news or may I close this issue?
from doko3000.
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.
Same here - being back in the biergarten makes doko3000 appear less important. 🍻
from doko3000.
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.
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.
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.
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.
This is strange... works for me without --env-file option.
What version of docker-compose do you use?
from doko3000.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from doko3000.