Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
docker_notes:docker-dokuwiki [2023-05-30 Tue wk22 19:32] – [ssl certificates] baumkp | docker_notes:docker-dokuwiki [2023-05-30 Tue wk22 20:08] (current) – baumkp | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag> | + | {{tag> |
- | ======Docker Containers====== | + | |
- | =====Reverse Proxy Server===== | ||
- | I seem to have gotten the Traefik reverse proxy working according to Techno Tim [[https:// | ||
- | Below is a basic description of the process that aligns with my configuration files. I do this for 2 reasons, both allowing me independence. | + | ======Dokuwiki====== |
- | - Sometimes the source information or link are; changed, lost or removed. | + | =====Main Dokuwiki Page===== |
- | - These note reference my current specific installation. | + | |
- | + | ||
- | =====Proxy network to connect them all===== | + | |
- | These containers all talk via a docker bridge network named proxy, '' | + | |
- | ====Traefik==== | + | |
- | <code bash [enable_line_numbers=" | + | |
- | cd / | + | |
- | sudo mkdir traefik | + | |
- | sudo chown baumkp: | + | |
- | cd traefik | + | |
- | mkdir data | + | |
- | cd data | + | |
- | touch acme.json | + | |
- | chmod 600 acme.json | + | |
- | touch traefik.yml | + | |
- | cd ..</ | + | |
- | My traefik.yml locatation: ''/ | + | |
- | + | ||
- | ===create docker network=== | + | |
- | <code bash [enable_line_numbers=" | + | |
- | <code bash [enable_line_numbers=" | + | |
- | touch provider.env</ | + | |
- | My docker-compose.yml location: ''/ | + | |
- | //<fc # | + | |
- | \\ | + | |
- | ===Generate and Install Godaddy DNS Challenge Data=== | + | |
- | Sadly Godaddy does not make it as transparent as it should be to access their DNS challenge API. Perhaps because they are focused on their commercial certificate product. It is accessed from their developer portal [[https:// | + | |
- | <code [enable_line_numbers=" | + | |
- | GODADDY_API_SECRET=[Your API_SECRET key from Godaddy API]</ | + | |
- | \\ | + | |
- | ===Generate and install Basic Authentication Password=== | + | |
- | <code bash [enable_line_numbers=" | + | |
- | sudo apt install apache2-utils</ | + | |
- | <code bash [enable_line_numbers=" | + | |
- | NOTE: Replace < | + | |
- | + | ||
- | Paste the output in your docker-compose.yml in line (traefik.http.middlewares.traefik-auth.basicauth.users=< | + | |
- | \\ | + | |
- | \\ | + | |
- | <code bash [enable_line_numbers=" | + | |
- | touch config.yml</ | + | |
- | <code bash [enable_line_numbers=" | + | |
- | ====Portainer==== | + | |
- | <code bash [enable_line_numbers=" | + | |
- | sudo mkdir portainer | + | |
- | sudo chown baumkp: | + | |
- | cd portainer | + | |
- | touch docker-compose.yml | + | |
- | mkdir data</ | + | |
- | My docker-compose.yml location: ''/ | + | |
- | <code bash [enable_line_numbers=" | + | |
- | + | ||
- | ====Traefik Routes Config==== | + | |
- | <code bash [enable_line_numbers=" | + | |
- | nvim config.yml</ | + | |
- | My config.yml location: ''/ | + | |
- | <code bash [enable_line_numbers=" | + | |
- | Folder Structure: | + | |
- | < | + | |
- | ├── data | + | |
- | │ | + | |
- | │ | + | |
- | │ | + | |
- | │ | + | |
- | └── docker-compose.yml</ | + | |
- | ====whitelisting==== | + | |
- | Todo: look at whitelisting in more detail | + | |
- | * ''/ | + | |
- | * Can this be defined for each container setup in config.yml? Looks likely. | + | |
- | * Can this be reliably setup for public access of certain containers? | + | |
- | * Ensure **no** public access to portainer and traefik dashboards? | + | |
- | * See reddit dicussion [[https:// | + | |
- | ====References==== | + | |
- | *Traefik | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * Smarthome Beginner [[https:// | + | |
- | * Christian Lempa [[https:// | + | |
- | * Techno Tim [[https:// | + | |
- | techno-tim.github.io/ | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | + | ||
- | *Traefik whitelists | + | |
- | + | ||
- | *Nginx Proxy Manager | + | |
- | * Nginxproxymanager.com [[https:// | + | |
- | + | ||
- | ====ssl certificates==== | + | |
- | *'' | + | |
- | *'' | + | |
- | *[[https:// | + | |
- | + | ||
- | + | ||
- | + | ||
- | =====Dokuwiki===== | + | |
- | ====Main Dokuwiki Page==== | + | |
The main dokuwiki page [[tech_notes: | The main dokuwiki page [[tech_notes: | ||
- | ====Dokuwiki Container==== | + | =====Dokuwiki Container===== |
This use the the [[https:// | This use the the [[https:// | ||
Defines web_data volume: | Defines web_data volume: | ||
Line 147: | Line 46: | ||
After setting up the internal indexes could be messed up. The plugin SearchIndex Manager can be used to recreate these indexes. | After setting up the internal indexes could be messed up. The plugin SearchIndex Manager can be used to recreate these indexes. | ||
- | =====Nextcloud Container===== | + | <- docker_notes:docker-reverse-proxy|Back ^ docker_notes: |
- | Nextcloud publishes their own Docker container of Nextcloud. | + | |
- | + | ||
- | Nextcloud needs a number of services to run; the main Nextcloud server, a database and Redis. In addition, there needs to be a proxy server or similar to forward on common domain requests to sub-domains as well as handling certificates, | + | |
- | + | ||
- | Refer to Nextcloud' | + | |
- | * uid: www-data / 33, gid: www-data / 33. This seems to be Debian standard. Alpine linux seems to use 82 for www-data. | + | |
- | * '' | + | |
- | * '' | + | |
- | + | ||
- | ====RedirectRegex==== | + | |
- | I get a redirect error in Nextcloud that I have not been able to track down to date. Does not seem much info in this on the net, and the little there is also indicates a problem without and easy solution. | + | |
- | Some resources related to this: | + | |
- | *Traefik: | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | ====References==== | + | |
- | *docs nextcloud | + | |
- | * [[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | + | ||
- | ====Installing and Using MariaDB via Docker==== | + | |
- | [[https:// | + | |
- | [[]] | + | |
- | + | ||
- | ====logging==== | + | |
- | [[https:// | + | |
- | ====backup==== | + | |
- | [[https:// | + | |
- | + | ||
- | ====NGINX configuration==== | + | |
- | [[https:// | + | |
- | + | ||
- | ====cron==== | + | |
- | '' | + | |
- | [[https:// | + | |
- | + | ||
- | + | ||
- | =====Calibre===== | + | |
- | + | ||
- | ====Calibre==== | + | |
- | This Docker container is based [[https:// | + | |
- | + | ||
- | The image is based upon current Ubuntu Long term release. | + | |
- | + | ||
- | ++++Calibre docker-compose.yml| | + | |
- | <code> | + | |
- | version: " | + | |
- | services: | + | |
- | calibre: | + | |
- | image: lscr.io/ | + | |
- | container_name: | + | |
- | security_opt: | + | |
- | | + | |
- | environment: | + | |
- | - PUID=1000 | + | |
- | - PGID=1000 | + | |
- | - TZ=Australia/ | + | |
- | - PASSWORD= #optional | + | |
- | - CLI_ARGS= #optional | + | |
- | volumes: | + | |
- | - / | + | |
- | ports: | + | |
- | - 8088:8080 | + | |
- | - 8089:8081 | + | |
- | restart: unless-stopped | + | |
- | networks: | + | |
- | - proxy | + | |
- | + | ||
- | networks: | + | |
- | proxy: | + | |
- | external: true | + | |
- | </ | + | |
- | + | ||
- | Notes: | + | |
- | - Example version: " | + | |
- | - The log error/ | + | |
- | - To allow shell access added to '' | + | |
- | tty: true | + | |
- | stdin_open: true | + | |
- | command: / | + | |
- | + | ||
- | ++++ | + | |
- | + | ||
- | ====Calibre-web==== | + | |
- | + | ||
- | This Docker container is based [[https:// | + | |
- | + | ||
- | The image is based upon current Ubuntu long term release. | + | |
- | + | ||
- | ++++Calibre-web docker-compose.yml| | + | |
- | < | + | |
- | version: " | + | |
- | services: | + | |
- | calibre-web: | + | |
- | image: lscr.io/ | + | |
- | #image: lscr.io/ | + | |
- | container_name: | + | |
- | security_opt: | + | |
- | - seccomp: | + | |
- | environment: | + | |
- | - PUID=1000 | + | |
- | - PGID=1000 | + | |
- | - TZ=Australia/ | + | |
- | - DOCKER_MODS=linuxserver/ | + | |
- | - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional | + | |
- | volumes: | + | |
- | - / | + | |
- | - / | + | |
- | ports: | + | |
- | - 8087:8083 | + | |
- | restart: unless-stopped | + | |
- | networks: | + | |
- | | + | |
- | + | ||
- | networks: | + | |
- | proxy: | + | |
- | external: true | + | |
- | </ | + | |
- | + | ||
- | Notes: | + | |
- | - Example version: " | + | |
- | - The default login / password: admin / admin123 | + | |
- | - The /books direct points to the directory specified for the existing (or new) Calibre library | + | |
- | - The log error/ | + | |
- | ++++ | + | |
- | ====References==== | + | |
- | *Matthias Schoettle [[https:// | + | |
- | *Nextcloud Docs: | + | |
- | *[[https:// | + | |
- | *The [[https:// | + | |
- | *smarthome beginner' | + | |
- | *Reddit[[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | *[[https:// | + | |
- | *linuxserver.io [[https:// | + | |
- | *Nextcloud [[https:// | + | |
- | *Christain Lempa [[https:// | + | |
- | + | ||
- | =====Deluge===== | + | |
- | A torrent application with a web based server. | + | |
- | + | ||
- | =====Other Possible Apps/ | + | |
- | *[[https:// | + | |
- | *heindall a dashboard application. Low priority..... | + | |
- | *[[https:// | + | |
- | + | ||
- | <- docker_notes: | + | |