I am Implementing a containerized nextcloud application with a self signed cert using the example docker compose file provided here: https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/mariadb/apache/docker-compose.yml (also using the provided .env, .conf and Dockerfile provided)
my file structure
docker-compose.yml
db.env
proxy/uploadsize.conf
proxy/Dockerfile
my docker-compose.yml file
version: '3'
services:
db:
image: mariadb:10.5
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=<password>
- MARIADB_AUTO_UPGRADE=1
- MARIADB_DISABLE_UPGRADE_BACKUP=1
env_file:
- db.env
redis:
image: redis:alpine
restart: always
app:
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- VIRTUAL_HOST=servhostname.local
- LETSENCRYPT_HOST=servhostname.local
- LETSENCRYPT_EMAIL=my@example.com
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
- db
- redis
networks:
- proxy-tier
- default
cron:
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html
entrypoint: /cron.sh
depends_on:
- db
- redis
proxy:
build: ./proxy
restart: always
ports:
- 80:80
- 443:443
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- proxy-tier
letsencrypt-companion:
image: nginxproxy/acme-companion
restart: always
volumes:
- certs:/etc/nginx/certs
- acme:/etc/acme.sh
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- proxy-tier
depends_on:
- proxy
# self signed
omgwtfssl:
image: paulczar/omgwtfssl
restart: "no"
volumes:
- certs:/certs
environment:
- SSL_SUBJECT=servhostname.local
- CA_SUBJECT=my@example.com
- SSL_KEY=/certs/servhostname.local.key
- SSL_CSR=/certs/servhostname.local.csr
- SSL_CERT=/certs/servhostname.local.crt
networks:
- proxy-tier
volumes:
db:
nextcloud:
certs:
acme:
vhost.d:
html:
networks:
proxy-tier:
This works on my Windows Machine, However I want to have this running on a linux Machine. When i run the same docker-compose.yml file in linux (raspbian pi 1GB RAM && ubuntu laptop 6GB RAM) I get the error
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount218034811/Dockerfile: no such file or directory
before install I did run apt-get update && upgrade
I tried to build the Docker file in the proxy folder
- on Windows we get a successful build
- on linux we get the following output
$ docker build . [+] Building 0.5s (2/2) FINISHED => [internal] load build definition from Dockerfile
0.3s => => transferring dockerfile: 2B 0.0s => [internal] load .dockerignore 0.4s => => transferring context: 2B 0.0s failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount789252587/Dockerfile: no such file or directory
Update
I am able to get the docker-compose file to work by getting rid of the docker file in the proxy folder and doing a bind on the proxy folder with the /etc/nginx/conf.d folder. however if anyone knows why the configuration would not work as it please let me know.
Any help would be appreciated