mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
Optimized images and version configuration for dockerfiles
This commit is contained in:
@@ -6,7 +6,7 @@ services:
|
||||
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
|
||||
image: {{ applications[application_id].images.application }}
|
||||
image: "{{ applications[application_id].images.akaunting }}"
|
||||
build:
|
||||
context: .
|
||||
ports:
|
||||
|
@@ -1,5 +1,5 @@
|
||||
images:
|
||||
application: "docker.io/akaunting/akaunting:latest"
|
||||
akaunting: "docker.io/akaunting/akaunting:latest"
|
||||
company_name: "{{primary_domain}}"
|
||||
company_email: "{{users.administrator.email}}"
|
||||
setup_admin_email: "{{users.administrator.email}}"
|
||||
|
@@ -6,7 +6,7 @@ services:
|
||||
|
||||
application:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: "{{ applications[application_id].images.application }}"
|
||||
image: "{{ applications[application_id].images.baserow }}"
|
||||
container_name: baserow-application
|
||||
volumes:
|
||||
- data:/baserow/data
|
||||
|
@@ -1,5 +1,5 @@
|
||||
images:
|
||||
application: "baserow/baserow:latest"
|
||||
baserow: "baserow/baserow:latest"
|
||||
features:
|
||||
matomo: true
|
||||
css: true
|
||||
|
@@ -1,9 +1,13 @@
|
||||
- name: "Create (optional) '{{ docker_compose.files.dockerfile }}'"
|
||||
template:
|
||||
src: "{{ playbook_dir }}/roles/{{ role_name }}/templates/{{ template_name }}"
|
||||
src: "{{ playbook_dir }}/roles/{{ role_name }}/templates/Dockerfile"
|
||||
dest: "{{ docker_compose.files.dockerfile }}"
|
||||
notify: docker compose project build and setup
|
||||
ignore_errors: true
|
||||
ignore_errors: false
|
||||
register: create_dockerfile_result
|
||||
failed_when:
|
||||
- create_dockerfile_result is failed
|
||||
- "'Could not find or access' not in create_dockerfile_result.msg"
|
||||
|
||||
- name: "Create (optional) '{{ docker_compose.files.env }}'"
|
||||
template:
|
||||
@@ -13,7 +17,10 @@
|
||||
force: yes
|
||||
notify: docker compose project setup
|
||||
register: env_template
|
||||
ignore_errors: true
|
||||
ignore_errors: false
|
||||
failed_when:
|
||||
- env_template is failed
|
||||
- "'Could not find or access' not in env_template.msg"
|
||||
|
||||
- name: "Create (obligatoric) '{{ docker_compose.files.docker_compose }}'"
|
||||
template:
|
||||
|
@@ -3,7 +3,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
web:
|
||||
image: espocrm/espocrm:{{ applications[application_id].version }}
|
||||
image: "{{ applications[application_id].images.espocrm }}"
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost/"]
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
- data:/var/www/html
|
||||
|
||||
daemon:
|
||||
image: espocrm/espocrm:{{ applications[application_id].version }}
|
||||
image: "{{ applications[application_id].images.espocrm }}"
|
||||
restart: {{docker_restart_policy}}
|
||||
logging:
|
||||
driver: journald
|
||||
@@ -25,7 +25,7 @@ services:
|
||||
- data:/var/www/html
|
||||
|
||||
websocket:
|
||||
image: espocrm/espocrm:{{ applications[application_id].version }}
|
||||
image: "{{ applications[application_id].images.espocrm }}"
|
||||
restart: {{docker_restart_policy}}
|
||||
logging:
|
||||
driver: journald
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
espocrm: "espocrm/espocrm:latest"
|
||||
users:
|
||||
administrator:
|
||||
username: "{{ users.administrator.username }}"
|
||||
|
@@ -3,7 +3,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
application:
|
||||
image: "friendica:{{applications.friendica.version}}"
|
||||
image: "{{ applications[application_id].images.friendica }}"
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
volumes:
|
||||
- html:/var/www/html
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
friendica: "friendica:latest"
|
||||
features:
|
||||
matomo: true
|
||||
css: true
|
||||
|
@@ -14,7 +14,7 @@ services:
|
||||
# flag:
|
||||
# celery -A funkwhale_api.taskapp worker -l INFO --concurrency=4
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: funkwhale/api:{{applications.funkwhale.version}}
|
||||
image: "{{ applications[application_id].images.api }}"
|
||||
command: celery -A funkwhale_api.taskapp worker -l INFO --concurrency={{celeryd_concurrency}}
|
||||
environment:
|
||||
- C_FORCE_ROOT=true
|
||||
@@ -26,14 +26,14 @@ services:
|
||||
|
||||
celerybeat:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: funkwhale/api:{{applications.funkwhale.version}}
|
||||
image: "{{ applications[application_id].images.api }}"
|
||||
command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO
|
||||
{% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
|
||||
{% include 'templates/docker/container/networks.yml.j2' %}
|
||||
|
||||
api:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: funkwhale/api:{{applications.funkwhale.version}}
|
||||
image: "{{ applications[application_id].images.api }}"
|
||||
volumes:
|
||||
- "music:{{music_directory_path}}:ro"
|
||||
- "data:{{media_root}}"
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
|
||||
front:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: funkwhale/front:{{applications.funkwhale.version}}
|
||||
image: "{{ applications[application_id].images.front }}"
|
||||
depends_on:
|
||||
- api
|
||||
environment:
|
||||
@@ -60,7 +60,7 @@ services:
|
||||
|
||||
typesense:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: typesense/typesense:0.24.0
|
||||
image: "{{ applications[application_id].images.typesense }}"
|
||||
volumes:
|
||||
- ./typesense/data:/data
|
||||
command: --data-dir /data --enable-cors
|
||||
|
@@ -1,4 +1,7 @@
|
||||
version: "1.4.0"
|
||||
images:
|
||||
api: "funkwhale/api:1.4.0"
|
||||
front: "funkwhale/front:1.4.0"
|
||||
typesense: "typesense/typesense"
|
||||
features:
|
||||
matomo: true
|
||||
css: true
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# FusionDirectory
|
||||
# FusionDirectory (DRAFT)
|
||||
|
||||
# Warning
|
||||
This application isn't implemented yet
|
||||
|
@@ -4,7 +4,7 @@ services:
|
||||
|
||||
application:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: "gitea/gitea:{{applications.gitea.version}}"
|
||||
image: "{{ applications[application_id].images.gitea }}"
|
||||
ports:
|
||||
- "127.0.0.1:{{ports.localhost.http[application_id]}}:3000"
|
||||
- "{{ports.public.ssh[application_id]}}:22"
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest" # Use latest docker image
|
||||
images:
|
||||
gitea: "gitea/gitea:latest"
|
||||
configuration:
|
||||
repository:
|
||||
enable_push_create_user: True # Allow users to push local repositories to Gitea and have them automatically created for a user.
|
||||
@@ -7,14 +8,14 @@ configuration:
|
||||
features:
|
||||
matomo: true
|
||||
css: true
|
||||
portfolio_iframe: true
|
||||
portfolio_iframe: true
|
||||
central_database: true
|
||||
csp:
|
||||
flags:
|
||||
script-src:
|
||||
unsafe-inline: true
|
||||
unsafe-inline: true
|
||||
style-src:
|
||||
unsafe-inline: true
|
||||
unsafe-inline: true
|
||||
whitelist:
|
||||
font-src:
|
||||
- "data:"
|
||||
|
@@ -5,7 +5,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
web:
|
||||
image: "gitlab/gitlab-ee:{{applications.gitlab.version}}"
|
||||
image: "{{ applications[application_id].images.gitlab }}"
|
||||
hostname: '{{domains | get_domain(application_id)}}'
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
ports:
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
gitlab: "gitlab/gitlab-ee:latest"
|
||||
features:
|
||||
matomo: true
|
||||
css: true
|
||||
|
@@ -3,7 +3,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
application:
|
||||
image: "joomla:{{applications.joomla.version}}"
|
||||
image: "{{ applications[application_id].images.joomla }}"
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
volumes:
|
||||
- data:/var/www/html
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
joomla: "joomla:latest"
|
||||
features:
|
||||
matomo: true
|
||||
css: true
|
||||
|
@@ -3,7 +3,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
application:
|
||||
image: quay.io/keycloak/keycloak:{{applications.keycloak.version}}
|
||||
image: "{{ applications[application_id].images.keycloak }}"
|
||||
container_name: {{container_name}}
|
||||
command: start {% if applications[application_id].import_realm | bool %}--import-realm{% endif %}
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
keycloak: "quay.io/keycloak/keycloak:latest"
|
||||
users:
|
||||
administrator:
|
||||
username: "{{users.administrator.username}}" # Administrator Username for Keycloak
|
||||
|
@@ -4,7 +4,7 @@ services:
|
||||
|
||||
application:
|
||||
container_name: {{ application_id }}
|
||||
image: ghcr.io/ldapaccountmanager/lam:{{applications[application_id].version}}
|
||||
image: "{{ applications[application_id].images.lam }}"
|
||||
ports:
|
||||
- 127.0.0.1:{{ports.localhost.http[application_id]}}:80
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
lam: "ghcr.io/ldapaccountmanager/lam:latest"
|
||||
oauth2_proxy:
|
||||
application: application
|
||||
port: 80
|
||||
|
@@ -3,7 +3,7 @@ services:
|
||||
{% include 'roles/docker-oauth2-proxy/templates/container.yml.j2' %}
|
||||
|
||||
application:
|
||||
image: bitnami/openldap:{{ applications[application_id].version }}
|
||||
image: "{{ applications[application_id].images.openldap }}"
|
||||
container_name: {{ applications[application_id].hostname }}
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
{% if applications[application_id].network.public | bool or applications[application_id].network.local | bool %}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
openldap: "bitnami/openldap:latest"
|
||||
network:
|
||||
local: True # Activates local network. Necessary for LDIF import routines
|
||||
docker: True # Activates docker network to allow other docker containers to connect
|
||||
|
@@ -4,7 +4,7 @@ services:
|
||||
|
||||
application:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: listmonk/listmonk:{{applications.listmonk.version}}
|
||||
image: "{{ applications[application_id].images.listmonk }}"
|
||||
ports:
|
||||
- "127.0.0.1:{{ports.localhost.http[application_id]}}:9000"
|
||||
volumes:
|
||||
|
@@ -1,3 +1,5 @@
|
||||
images:
|
||||
listmonk: "listmonk/listmonk:latest"
|
||||
users:
|
||||
administrator:
|
||||
username: "{{users.administrator.username}}" # Listmonk administrator account username
|
||||
|
@@ -5,7 +5,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
web:
|
||||
image: ghcr.io/mastodon/mastodon:{{applications.mastodon.version}}
|
||||
image: "{{ applications[application_id].images.mastodon }}"
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
|
||||
healthcheck:
|
||||
@@ -18,7 +18,7 @@ services:
|
||||
{% include 'templates/docker/container/networks.yml.j2' %}
|
||||
|
||||
streaming:
|
||||
image: ghcr.io/mastodon/mastodon-streaming:{{applications.mastodon.version}}
|
||||
image: "{{ applications[application_id].images.streaming }}"
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
command: node ./streaming
|
||||
healthcheck:
|
||||
@@ -29,7 +29,7 @@ services:
|
||||
{% include 'templates/docker/container/networks.yml.j2' %}
|
||||
|
||||
sidekiq:
|
||||
image: ghcr.io/mastodon/mastodon:{{applications.mastodon.version}}
|
||||
image: "{{ applications[application_id].images.mastodon }}"
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
command: bundle exec sidekiq
|
||||
{% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
version: "latest"
|
||||
images:
|
||||
mastodon: "ghcr.io/mastodon/mastodon:latest"
|
||||
streaming: "ghcr.io/mastodon/mastodon-streaming:latest"
|
||||
single_user_mode: false # Set true for initial setup
|
||||
setup: false # Set true in inventory file to execute the setup and initializing procedures
|
||||
credentials:
|
||||
|
@@ -4,7 +4,7 @@ services:
|
||||
|
||||
application:
|
||||
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||
image: matomo:{{applications.matomo.version}}
|
||||
image: "{{ applications[application_id].images.matomo }}"
|
||||
ports:
|
||||
- "127.0.0.1:{{ports.localhost.http.matomo}}:80"
|
||||
volumes:
|
||||
|
@@ -1,4 +1,5 @@
|
||||
version: "latest"
|
||||
images:
|
||||
matomo: "matomo:latest"
|
||||
features:
|
||||
matomo: true
|
||||
css: false
|
||||
|
@@ -3,7 +3,7 @@ services:
|
||||
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
|
||||
|
||||
synapse:
|
||||
image: matrixdotorg/synapse:{{applications[application_id].synapse.version}}
|
||||
image: "{{ applications[application_id].images.synapse }}"
|
||||
container_name: matrix-synapse
|
||||
restart: {{docker_restart_policy}}
|
||||
logging:
|
||||
@@ -36,7 +36,7 @@ services:
|
||||
{% endif %}
|
||||
{% include 'templates/docker/container/networks.yml.j2' %}
|
||||
element:
|
||||
image: vectorim/element-web:{{applications[application_id].element.version}}
|
||||
image: "{{ applications[application_id].images.element }}"
|
||||
container_name: matrix-element
|
||||
restart: {{docker_restart_policy}}
|
||||
volumes:
|
||||
|
@@ -1,4 +1,7 @@
|
||||
|
||||
images:
|
||||
synapse: "matrixdotorg/synapse:latest"
|
||||
element: "vectorim/element-web:latest"
|
||||
# Set bridges
|
||||
users:
|
||||
administrator:
|
||||
username: "{{users.administrator.username}}" # Accountname of the matrix admin
|
||||
|
2
roles/docker-pixelfed/Todo.md
Normal file
2
roles/docker-pixelfed/Todo.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Todo
|
||||
- Integrate OIDC as soon as possible
|
Reference in New Issue
Block a user