podman: add mariadb, forgejo, npm containers
This commit is contained in:
parent
f9748745dd
commit
eb9c52a19b
12 changed files with 195 additions and 4 deletions
24
podman/containers/files/forgejo_docker-compose.yml.jinja
Normal file
24
podman/containers/files/forgejo_docker-compose.yml.jinja
Normal file
|
@ -0,0 +1,24 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
forgejo_server:
|
||||
image: codeberg.org/forgejo/forgejo:1.20
|
||||
container_name: forgejo
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- FORGEJO__database__DB_TYPE=mysql
|
||||
- FORGEJO__database__HOST=noveria_db:3306
|
||||
- FORGEJO__database__NAME=forgejo
|
||||
- FORGEJO__database__USER={{ MARIADB_USER }}
|
||||
- FORGEJO__database__PASSWD={{ MARIADB_USER_PASSWORD }}
|
||||
restart: always
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
networks:
|
||||
default:
|
||||
external: true
|
||||
name: noveria
|
20
podman/containers/files/mariadb_docker-compose.yml.jinja
Normal file
20
podman/containers/files/mariadb_docker-compose.yml.jinja
Normal file
|
@ -0,0 +1,20 @@
|
|||
version: '3.1'
|
||||
services:
|
||||
noveria_db:
|
||||
image: docker.io/mariadb:lts
|
||||
restart: always
|
||||
environment:
|
||||
MARIADB_ROOT_PASSWORD: {{ MARIADB_ROOT_PASSWORD }}
|
||||
MARIADB_USER: {{ MARIADB_USER }}
|
||||
MARIADB_USER_PASSWORD: {{ MARIADB_USER_PASSWORD }}
|
||||
volumes:
|
||||
- ./data:/var/lib/mysql
|
||||
|
||||
adminer_ui:
|
||||
image: docker.io/adminer
|
||||
restart: always
|
||||
|
||||
networks:
|
||||
default:
|
||||
external: true
|
||||
name: noveria
|
24
podman/containers/files/npm_docker-compose.yml.jinja
Normal file
24
podman/containers/files/npm_docker-compose.yml.jinja
Normal file
|
@ -0,0 +1,24 @@
|
|||
version: '3.8'
|
||||
services:
|
||||
app:
|
||||
image: docker.io/jc21/nginx-proxy-manager:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
# These ports are in format <host-port>:<container-port>
|
||||
- '80:80' # Public HTTP Port
|
||||
- '443:443' # Public HTTPS Port
|
||||
- '81:81' # Admin Web Port
|
||||
# Add any other Stream port you want to expose
|
||||
{% for port in STREAMED_PORTS %}
|
||||
- '{{ port }}:{{ port }}'
|
||||
{% endfor %}
|
||||
environment:
|
||||
DISABLE_IPV6: 'true'
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./letsencrypt:/etc/letsencrypt
|
||||
|
||||
networks:
|
||||
default:
|
||||
external: true
|
||||
name: noveria
|
30
podman/containers/forgejo.sls
Normal file
30
podman/containers/forgejo.sls
Normal file
|
@ -0,0 +1,30 @@
|
|||
{% from tpldir+"/map.jinja" import containers %}
|
||||
|
||||
include:
|
||||
- podman.directory
|
||||
|
||||
podman_containers_forgejo_compose:
|
||||
- file.managed:
|
||||
- name: {{ containers.podman_dir }}/forgejo/docker-compose.yml
|
||||
- source: {{ tpldir }}/files/forgejo_docker-compose.yml.jinja
|
||||
- template: jinja
|
||||
- context:
|
||||
MARIADB_USER: {{ salt['pillar.get']('podman:containers:mariadb:user') }}
|
||||
MARIADB_USER_PASSWORD: {{ salt['pillar.get']('podman:containers:mariadb:userpwd') }}
|
||||
- user: puser
|
||||
- group: puser
|
||||
- mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
||||
|
||||
podman_containers_forgejo_data_dir:
|
||||
- file.directory:
|
||||
- name: {{ containers.podman_dir }}/forgejo/data
|
||||
- user: puser
|
||||
- group: puser
|
||||
- dir_mode: '0755'
|
||||
- file_mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
4
podman/containers/init.sls
Normal file
4
podman/containers/init.sls
Normal file
|
@ -0,0 +1,4 @@
|
|||
include:
|
||||
- .npm
|
||||
- .mariadb
|
||||
- .forgejo
|
3
podman/containers/map.jinja
Normal file
3
podman/containers/map.jinja
Normal file
|
@ -0,0 +1,3 @@
|
|||
{% set containers = {
|
||||
'podman_dir': '/opt/podman'
|
||||
} %}
|
31
podman/containers/mariadb.sls
Normal file
31
podman/containers/mariadb.sls
Normal file
|
@ -0,0 +1,31 @@
|
|||
{% from tpldir+"/map.jinja" import containers %}
|
||||
|
||||
include:
|
||||
- podman.directory
|
||||
|
||||
podman_containers_mariadb_compose:
|
||||
- file.managed:
|
||||
- name: {{ containers.podman_dir }}/mariadb/docker-compose.yml
|
||||
- source: {{ tpldir }}/files/mariadb_docker-compose.yml.jinja
|
||||
- template: jinja
|
||||
- context:
|
||||
MARIADB_ROOT_PASSWORD: {{ salt['pillar.get']('podman:containers:mariadb:rootpwd') }}
|
||||
MARIADB_USER: {{ salt['pillar.get']('podman:containers:mariadb:user') }}
|
||||
MARIADB_USER_PASSWORD: {{ salt['pillar.get']('podman:containers:mariadb:userpwd') }}
|
||||
- user: puser
|
||||
- group: puser
|
||||
- mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
||||
|
||||
podman_containers_mariadb_data_dir:
|
||||
- file.directory:
|
||||
- name: {{ containers.podman_dir }}/mariadb/data
|
||||
- user: puser
|
||||
- group: puser
|
||||
- dir_mode: '0755'
|
||||
- file_mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
40
podman/containers/npm.sls
Normal file
40
podman/containers/npm.sls
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% from tpldir+"/map.jinja" import containers %}
|
||||
|
||||
include:
|
||||
- podman.directory
|
||||
|
||||
podman_containers_npm_compose:
|
||||
- file.managed:
|
||||
- name: {{ containers.podman_dir }}/npm/docker-compose.yml
|
||||
- source: {{ tpldir }}/files/npm_docker-compose.yml.jinja
|
||||
- template: jinja
|
||||
- context:
|
||||
STREAMED_PORTS: [22]
|
||||
- user: puser
|
||||
- group: puser
|
||||
- mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
||||
|
||||
podman_containers_npm_data_dir:
|
||||
- file.directory:
|
||||
- name: {{ containers.podman_dir }}/npm/data
|
||||
- user: puser
|
||||
- group: puser
|
||||
- dir_mode: '0755'
|
||||
- file_mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
||||
|
||||
podman_containers_npm_letsencrypt_dir:
|
||||
- file.directory:
|
||||
- name: {{ containers.podman_dir }}/npm/letsencrypt
|
||||
- user: puser
|
||||
- group: puser
|
||||
- dir_mode: '0755'
|
||||
- file_mode: '0644'
|
||||
- makedirs: True
|
||||
- require:
|
||||
- podman_directory_permissions
|
12
podman/directory.sls
Normal file
12
podman/directory.sls
Normal file
|
@ -0,0 +1,12 @@
|
|||
include:
|
||||
- .user
|
||||
|
||||
podman_directory_permissions:
|
||||
file.directory:
|
||||
- name: /opt/podman
|
||||
- user: puser
|
||||
- group: puser
|
||||
- dir_mode: '0755'
|
||||
- file_mode: '0644'
|
||||
- require:
|
||||
- podman_user_puser
|
|
@ -2,4 +2,6 @@ include:
|
|||
- .pkg
|
||||
- .rootless
|
||||
- .user
|
||||
- .directory
|
||||
- .service
|
||||
- .containers
|
||||
|
|
|
@ -41,17 +41,18 @@ podman_rootless_modules:
|
|||
- text:
|
||||
- tun
|
||||
- fuse
|
||||
- ip_tables
|
||||
|
||||
podman_rootless_subgid:
|
||||
file.append:
|
||||
- name: /etc/subgid
|
||||
- text: puser:100000:65536
|
||||
- require:
|
||||
- podman_user
|
||||
- podman_user_puser
|
||||
|
||||
podman_rootless_subuid:
|
||||
file.append:
|
||||
- name: /etc/subuid
|
||||
- text: puser:100000:65536
|
||||
- require:
|
||||
- podman_user
|
||||
- podman_user_puser
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include:
|
||||
- .pkg
|
||||
|
||||
podman_user:
|
||||
podman_user_puser:
|
||||
user.present:
|
||||
- name: puser
|
||||
- uid: 2000
|
||||
|
@ -20,4 +20,4 @@ podman_user_openssh_keys:
|
|||
- user: puser
|
||||
- group: puser
|
||||
- require:
|
||||
- podman_user
|
||||
- podman_user_puser
|
||||
|
|
Loading…
Reference in a new issue