added authentik to ansible
This commit is contained in:
		@@ -14,3 +14,7 @@ thesatelliteoflove.com {
 | 
				
			|||||||
bookmarks.thesatelliteoflove.com {
 | 
					bookmarks.thesatelliteoflove.com {
 | 
				
			||||||
    reverse_proxy hoarder-web-1:3000
 | 
					    reverse_proxy hoarder-web-1:3000
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ai.thesatelliteoflove.com {
 | 
				
			||||||
 | 
					    reverse_proxy open-webui:8080
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								roles/docker/tasks/authentik.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								roles/docker/tasks/authentik.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					- name: make authentik directories
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: "{{ item}}"
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  loop:
 | 
				
			||||||
 | 
					    - /opt/stacks/authentik
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Template out the compose file
 | 
				
			||||||
 | 
					  ansible.builtin.template:
 | 
				
			||||||
 | 
					    src: authentik-compose.yml.j2
 | 
				
			||||||
 | 
					    dest: /opt/stacks/authentik/compose.yml
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Template out the .env file
 | 
				
			||||||
 | 
					  ansible.builtin.template:
 | 
				
			||||||
 | 
					    src: authentik-env.j2
 | 
				
			||||||
 | 
					    dest: /opt/stacks/authentik/.env
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: deploy authentik stack
 | 
				
			||||||
 | 
					  community.docker.docker_compose_v2:
 | 
				
			||||||
 | 
					    project_src: /opt/stacks/authentik
 | 
				
			||||||
 | 
					    files:
 | 
				
			||||||
 | 
					    - compose.yml
 | 
				
			||||||
@@ -66,3 +66,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- name: Install hoarder
 | 
					- name: Install hoarder
 | 
				
			||||||
  import_tasks: hoarder.yml
 | 
					  import_tasks: hoarder.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Install authentik
 | 
				
			||||||
 | 
					  import_tasks: authentik.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#- name: Install openwebui
 | 
				
			||||||
 | 
					#  import_tasks: openwebui.yml
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										91
									
								
								roles/docker/templates/authentik-compose.yml.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								roles/docker/templates/authentik-compose.yml.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,91 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  postgresql:
 | 
				
			||||||
 | 
					    image: docker.io/library/postgres:16-alpine
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    healthcheck:
 | 
				
			||||||
 | 
					      test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
 | 
				
			||||||
 | 
					      start_period: 20s
 | 
				
			||||||
 | 
					      interval: 30s
 | 
				
			||||||
 | 
					      retries: 5
 | 
				
			||||||
 | 
					      timeout: 5s
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - database:/var/lib/postgresql/data
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      POSTGRES_PASSWORD: ${PG_PASS:?database password required}
 | 
				
			||||||
 | 
					      POSTGRES_USER: ${PG_USER:-authentik}
 | 
				
			||||||
 | 
					      POSTGRES_DB: ${PG_DB:-authentik}
 | 
				
			||||||
 | 
					    env_file:
 | 
				
			||||||
 | 
					      - .env
 | 
				
			||||||
 | 
					  redis:
 | 
				
			||||||
 | 
					    image: docker.io/library/redis:alpine
 | 
				
			||||||
 | 
					    command: --save 60 1 --loglevel warning
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    healthcheck:
 | 
				
			||||||
 | 
					      test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
 | 
				
			||||||
 | 
					      start_period: 20s
 | 
				
			||||||
 | 
					      interval: 30s
 | 
				
			||||||
 | 
					      retries: 5
 | 
				
			||||||
 | 
					      timeout: 3s
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - redis:/data
 | 
				
			||||||
 | 
					  server:
 | 
				
			||||||
 | 
					    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.6.3}
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    command: server
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      AUTHENTIK_REDIS__HOST: redis
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__HOST: postgresql
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - ./media:/media
 | 
				
			||||||
 | 
					      - ./custom-templates:/templates
 | 
				
			||||||
 | 
					    env_file:
 | 
				
			||||||
 | 
					      - .env
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - "${COMPOSE_PORT_HTTP:-9000}:9000"
 | 
				
			||||||
 | 
					      - "${COMPOSE_PORT_HTTPS:-9443}:9443"
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					      - postgresql
 | 
				
			||||||
 | 
					      - redis
 | 
				
			||||||
 | 
					  worker:
 | 
				
			||||||
 | 
					    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.6.3}
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    command: worker
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      AUTHENTIK_REDIS__HOST: redis
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__HOST: postgresql
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
 | 
				
			||||||
 | 
					      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
 | 
				
			||||||
 | 
					    # `user: root` and the docker socket volume are optional.
 | 
				
			||||||
 | 
					    # See more for the docker socket integration here:
 | 
				
			||||||
 | 
					    # https://goauthentik.io/docs/outposts/integrations/docker
 | 
				
			||||||
 | 
					    # Removing `user: root` also prevents the worker from fixing the permissions
 | 
				
			||||||
 | 
					    # on the mounted folders, so when removing this make sure the folders have the correct UID/GID
 | 
				
			||||||
 | 
					    # (1000:1000 by default)
 | 
				
			||||||
 | 
					    user: root
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - /var/run/docker.sock:/var/run/docker.sock
 | 
				
			||||||
 | 
					      - ./media:/media
 | 
				
			||||||
 | 
					      - ./certs:/certs
 | 
				
			||||||
 | 
					      - ./custom-templates:/templates
 | 
				
			||||||
 | 
					    env_file:
 | 
				
			||||||
 | 
					      - .env
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					      - postgresql
 | 
				
			||||||
 | 
					      - redis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					volumes:
 | 
				
			||||||
 | 
					  database:
 | 
				
			||||||
 | 
					    driver: local
 | 
				
			||||||
 | 
					  redis:
 | 
				
			||||||
 | 
					    driver: local
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					networks:
 | 
				
			||||||
 | 
					  default:
 | 
				
			||||||
 | 
					    external: true
 | 
				
			||||||
 | 
					    name: lava
 | 
				
			||||||
							
								
								
									
										2
									
								
								roles/docker/templates/authentik-env.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								roles/docker/templates/authentik-env.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					PG_PASS={{ authentik_pg_pass }}
 | 
				
			||||||
 | 
					AUTHENTIK_SECRET_KEY={{ authentik_secret_key }}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user