move docker-compose config into config.scm
This commit is contained in:
parent
c82826e021
commit
84edee1124
2 changed files with 228 additions and 113 deletions
127
config.scm
127
config.scm
|
|
@ -1,7 +1,8 @@
|
||||||
;; Indicate which modules to import to access the variables
|
;; Indicate which modules to import to access the variables
|
||||||
;; used in this configuration.
|
;; used in this configuration.
|
||||||
(use-modules (gnu))
|
(use-modules (gnu))
|
||||||
(use-service-modules cups desktop networking ssh xorg docker dbus)
|
(use-package-modules databases)
|
||||||
|
(use-service-modules cups desktop networking ssh xorg docker dbus databases)
|
||||||
|
|
||||||
(operating-system
|
(operating-system
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
|
|
@ -16,7 +17,7 @@
|
||||||
(comment "bartronx7")
|
(comment "bartronx7")
|
||||||
(group "users")
|
(group "users")
|
||||||
(home-directory "/home/bartronx7")
|
(home-directory "/home/bartronx7")
|
||||||
(supplementary-groups '("wheel" "netdev" "audio" "video" "www-data" "docker")))
|
(supplementary-groups '("wheel" "netdev" "audio" "video" "docker")))
|
||||||
%base-user-accounts))
|
%base-user-accounts))
|
||||||
|
|
||||||
;; Below is the list of system services. To search for available
|
;; Below is the list of system services. To search for available
|
||||||
|
|
@ -34,11 +35,125 @@
|
||||||
(service containerd-service-type)
|
(service containerd-service-type)
|
||||||
(service docker-service-type (docker-configuration
|
(service docker-service-type (docker-configuration
|
||||||
(environment-variables (list
|
(environment-variables (list
|
||||||
"TMPDIR=/tmp/dockerd")))))
|
"TMPDIR=/tmp/dockerd"))))
|
||||||
|
;; (service postgresql-service-type
|
||||||
|
;; (postgresql-configuration
|
||||||
|
;; (postgresql postgresql-16)
|
||||||
|
;; (data-directory "/data/postgres")))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "miniflux/miniflux:latest")
|
||||||
|
(provision "miniflux")
|
||||||
|
(network "sandbox")
|
||||||
|
(requirement '(pg_db))
|
||||||
|
(ports '(
|
||||||
|
("8081" . "8080")))
|
||||||
|
(environment (list
|
||||||
|
'("DATABASE_URL" . "postgres://miniflux:99uskas0_l@pg_db/miniflux?sslmode=disable")
|
||||||
|
'("RUN_MIGRATIONS" . "1")
|
||||||
|
'("CREATE_ADMIN" . "1")
|
||||||
|
'("ADMIN_USERNAME" . "admin")
|
||||||
|
'("ADMIN_PASSWORD" . "982#@2gGGHjf"))))))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "postgres:17-alpine")
|
||||||
|
(provision "pg_db")
|
||||||
|
(network "sandbox")
|
||||||
|
(ports '(
|
||||||
|
("5432" . "5432")))
|
||||||
|
(environment (list
|
||||||
|
'("POSTGRES_USER" . "miniflux")
|
||||||
|
'("POSTGRES_PASSWORD" . "99uskas0_l")
|
||||||
|
'("POSTGRES_DB" . "miniflux")))
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/pg_db" . "/var/lib/postgresql/data"))))))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "codeberg.org/forgejo/forgejo:9")
|
||||||
|
(provision "forgejo")
|
||||||
|
(network "sandbox")
|
||||||
|
(ports '(
|
||||||
|
("3000" . "3000")
|
||||||
|
("2222" . "22")))
|
||||||
|
(environment (list
|
||||||
|
'("USER_UID" . "1000")
|
||||||
|
'("USER_GID" . "1000")))
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/forgejo" . "/data")
|
||||||
|
'("/etc/timezone" . "/etc/timezone:ro")
|
||||||
|
'("/etc/localtime" . "/etc/localtime:ro"))))))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "packetriot/pktriot:latest")
|
||||||
|
(provision "pktriot")
|
||||||
|
(network "sandbox")
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/pktriot" . "/data:rw"))))))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "plexinc/pms-docker")
|
||||||
|
(provision "plex")
|
||||||
|
(network "sandbox")
|
||||||
|
(ports '(
|
||||||
|
("32400" . "32400")
|
||||||
|
("8324" . "8324")
|
||||||
|
("32469" . "32469")
|
||||||
|
("1900" . "1900")
|
||||||
|
("32410" . "32410")
|
||||||
|
("32412" . "32412")
|
||||||
|
("32413" . "32413")
|
||||||
|
("32414" . "32414")))
|
||||||
|
(environment (list
|
||||||
|
'("TZ" . "America/Chicago")
|
||||||
|
'("PLEX_CLAIM:" . "claim-7-N1LVT5AMco6ayhy4Tm")
|
||||||
|
'("ADVERTISE_IP:" . "http://192.168.1.3:32400/")))
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/plex/config" . "/config")
|
||||||
|
'("/data/docker/volumes/plex/transcode" . "/transcode")
|
||||||
|
'("/data" . "/data:rw"))))))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "ghcr.io/ente-io/server")
|
||||||
|
(provision "ente")
|
||||||
|
(requirement '(pg_db))
|
||||||
|
(network "sandbox")
|
||||||
|
(ports '(
|
||||||
|
("8090" . "8080")
|
||||||
|
("2112" . "2112")))
|
||||||
|
(environment (list
|
||||||
|
'("ENTE_CREDENTIALS_FILE" . "/credentials.yaml")))
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/ente/logs" . "/var/logs")
|
||||||
|
'("/data/docker/volumes/ente/museum.yaml" . "/museum.yaml:ro")
|
||||||
|
'("/data/docker/volumes/ente/credentials.yaml" . "/credentials.yaml:ro")
|
||||||
|
'("/data" . "/data:ro"))))))
|
||||||
|
(service oci-container-service-type (list
|
||||||
|
(oci-container-configuration
|
||||||
|
(image "minio/minio")
|
||||||
|
(provision "minio")
|
||||||
|
(network "sandbox")
|
||||||
|
(ports '(
|
||||||
|
("3200" . "3200")
|
||||||
|
("3201" . "3201")))
|
||||||
|
(environment (list
|
||||||
|
'("MINIO_USER" . "test")))
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/ente/minio_data" . "/data"))))))
|
||||||
|
|
||||||
;; This is the default list of services we
|
(service oci-container-service-type (list
|
||||||
;; are appending to.
|
(oci-container-configuration
|
||||||
%base-services))
|
(image "minio/mc")
|
||||||
|
(provision "minio-provision")
|
||||||
|
(requirement '(minio)')
|
||||||
|
(network "sandbox")
|
||||||
|
(entrypoint "sh /provision.sh")
|
||||||
|
(environment (list
|
||||||
|
'("MINIO_USER" . "test")))
|
||||||
|
(volumes (list
|
||||||
|
'("/data/docker/volumes/ente/minio_data" . "/data")
|
||||||
|
'("/data/docker/volumes/ente/minio-provision.sh" . "/provision.sh:ro")))))))
|
||||||
|
|
||||||
|
%base-services))
|
||||||
|
|
||||||
(bootloader (bootloader-configuration
|
(bootloader (bootloader-configuration
|
||||||
(bootloader grub-bootloader)
|
(bootloader grub-bootloader)
|
||||||
|
|
|
||||||
|
|
@ -31,117 +31,117 @@ services:
|
||||||
- 'traefik.http.routers.api.service=api@internal'
|
- 'traefik.http.routers.api.service=api@internal'
|
||||||
# - 'traefik.http.routers.api.middlewares=authelia@docker'
|
# - 'traefik.http.routers.api.middlewares=authelia@docker'
|
||||||
|
|
||||||
pktriot:
|
# pktriot:
|
||||||
image: packetriot/pktriot:latest
|
# image: packetriot/pktriot:latest
|
||||||
container_name: pktriot
|
# container_name: pktriot
|
||||||
restart: unless-stopped
|
# restart: unless-stopped
|
||||||
volumes:
|
# volumes:
|
||||||
- /data/docker/volumes/pktriot:/data:rw
|
# - /data/docker/volumes/pktriot:/data:rw
|
||||||
|
|
||||||
mariadb:
|
# mariadb:
|
||||||
image: mariadb:10.6
|
# image: mariadb:10.6
|
||||||
container_name: mariadb
|
# container_name: mariadb
|
||||||
restart: always
|
# restart: always
|
||||||
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
# command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
||||||
volumes:
|
# volumes:
|
||||||
- /data/docker/volumes/mariadb:/var/lib/mysql:rw
|
# - /data/docker/volumes/mariadb:/var/lib/mysql:rw
|
||||||
environment:
|
# environment:
|
||||||
- MYSQL_ROOT_PASSWORD=fji9_+jK12dEW
|
# - MYSQL_ROOT_PASSWORD=fji9_+jK12dEW
|
||||||
- MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
|
# - MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
|
||||||
- MYSQL_DATABASE=nextcloud
|
# - MYSQL_DATABASE=nextcloud
|
||||||
- MYSQL_USER=nextcloud
|
# - MYSQL_USER=nextcloud
|
||||||
|
#
|
||||||
|
# nextcloud:
|
||||||
|
# image: nextcloud:30.0.4
|
||||||
|
# container_name: nextcloud
|
||||||
|
# restart: always
|
||||||
|
# ports:
|
||||||
|
# - 8088:80
|
||||||
|
# links:
|
||||||
|
# - mariadb
|
||||||
|
# volumes:
|
||||||
|
# - /data/docker/volumes/nextcloud:/var/www/html
|
||||||
|
# - /data:/data:rw
|
||||||
|
# - /docs/documents:/documents:rw
|
||||||
|
# environment:
|
||||||
|
# - MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
|
||||||
|
# - MYSQL_DATABASE=nextcloud
|
||||||
|
# - MYSQL_USER=nextcloud
|
||||||
|
# - MYSQL_HOST=mariadb
|
||||||
|
# labels:
|
||||||
|
# - traefik.enable=true
|
||||||
|
# - traefik.http.routers.nextcloud.entrypoints=web,websecure
|
||||||
|
# - traefik.http.routers.nextcloud.rule=Host(`nextcloud.akeley.tech`)
|
||||||
|
# - traefik.http.routers.nextcloud.tls=true
|
||||||
|
# - traefik.http.routers.nextcloud.tls.certresolver=myresolver
|
||||||
|
|
||||||
nextcloud:
|
# plex:
|
||||||
image: nextcloud:30.0.4
|
# image: plexinc/pms-docker
|
||||||
container_name: nextcloud
|
# container_name: plex
|
||||||
restart: always
|
# init: true
|
||||||
ports:
|
# hostname: excellon
|
||||||
- 8088:80
|
# restart: always
|
||||||
links:
|
# ports:
|
||||||
- mariadb
|
# - 32400:32400
|
||||||
volumes:
|
# - 8324:8324
|
||||||
- /data/docker/volumes/nextcloud:/var/www/html
|
# - 32469:32469
|
||||||
- /data:/data:rw
|
# - 1900:1900
|
||||||
- /docs/documents:/documents:rw
|
# - 32410:32410
|
||||||
environment:
|
# - 32412:32412
|
||||||
- MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
|
# - 32413:32413
|
||||||
- MYSQL_DATABASE=nextcloud
|
# - 32414:32414
|
||||||
- MYSQL_USER=nextcloud
|
# environment:
|
||||||
- MYSQL_HOST=mariadb
|
# TZ: "America/Chicago"
|
||||||
labels:
|
# PLEX_CLAIM: "claim-7-N1LVT5AMco6ayhy4Tm"
|
||||||
- traefik.enable=true
|
# ADVERTISE_IP: "http://192.168.1.3:32400/"
|
||||||
- traefik.http.routers.nextcloud.entrypoints=web,websecure
|
# volumes:
|
||||||
- traefik.http.routers.nextcloud.rule=Host(`nextcloud.akeley.tech`)
|
# - /data/docker/volumes/plex/config:/config
|
||||||
- traefik.http.routers.nextcloud.tls=true
|
# - /data/docker/volumes/plex/transcode:/transcode
|
||||||
- traefik.http.routers.nextcloud.tls.certresolver=myresolver
|
# - /data:/data:rw
|
||||||
|
|
||||||
plex:
|
# forgejo:
|
||||||
image: plexinc/pms-docker
|
# image: codeberg.org/forgejo/forgejo:9
|
||||||
container_name: plex
|
# container_name: forgejo
|
||||||
init: true
|
# environment:
|
||||||
hostname: excellon
|
# - USER_UID=1000
|
||||||
restart: always
|
# - USER_GID=1000
|
||||||
ports:
|
# restart: always
|
||||||
- 32400:32400
|
# volumes:
|
||||||
- 8324:8324
|
# - /data/docker/volumes/forgejo:/data
|
||||||
- 32469:32469
|
# - /etc/timezone:/etc/timezone:ro
|
||||||
- 1900:1900
|
# - /etc/localtime:/etc/localtime:ro
|
||||||
- 32410:32410
|
# ports:
|
||||||
- 32412:32412
|
# - '3000:3000'
|
||||||
- 32413:32413
|
# - '222:22'
|
||||||
- 32414:32414
|
|
||||||
environment:
|
|
||||||
TZ: "America/Chicago"
|
|
||||||
PLEX_CLAIM: "claim-7-N1LVT5AMco6ayhy4Tm"
|
|
||||||
ADVERTISE_IP: "http://192.168.1.3:32400/"
|
|
||||||
volumes:
|
|
||||||
- /data/docker/volumes/plex/config:/config
|
|
||||||
- /data/docker/volumes/plex/transcode:/transcode
|
|
||||||
- /data:/data:rw
|
|
||||||
|
|
||||||
forgejo:
|
# miniflux:
|
||||||
image: codeberg.org/forgejo/forgejo:9
|
# image: miniflux/miniflux:latest
|
||||||
container_name: forgejo
|
# container_name: miniflux
|
||||||
environment:
|
# ports:
|
||||||
- USER_UID=1000
|
# - "8081:8080"
|
||||||
- USER_GID=1000
|
# depends_on:
|
||||||
restart: always
|
# pg_db:
|
||||||
volumes:
|
# condition: service_healthy
|
||||||
- /data/docker/volumes/forgejo:/data
|
# environment:
|
||||||
- /etc/timezone:/etc/timezone:ro
|
# - DATABASE_URL=postgres://miniflux:99uskas0_l@pg_db/miniflux?sslmode=disable
|
||||||
- /etc/localtime:/etc/localtime:ro
|
# - RUN_MIGRATIONS=1
|
||||||
ports:
|
# - CREATE_ADMIN=1
|
||||||
- '3000:3000'
|
# - ADMIN_USERNAME=admin
|
||||||
- '222:22'
|
# - ADMIN_PASSWORD=982#@2gGGHjf
|
||||||
|
#
|
||||||
miniflux:
|
# pg_db:
|
||||||
image: miniflux/miniflux:latest
|
# image: postgres:17-alpine
|
||||||
container_name: miniflux
|
# container_name: pg_db
|
||||||
ports:
|
# environment:
|
||||||
- "8081:8080"
|
# - POSTGRES_USER=miniflux
|
||||||
depends_on:
|
# - POSTGRES_PASSWORD=99uskas0_l
|
||||||
pg_db:
|
# - POSTGRES_DB=miniflux
|
||||||
condition: service_healthy
|
# volumes:
|
||||||
environment:
|
# - /data/docker/volumes/pg_db:/var/lib/postgresql/data
|
||||||
- DATABASE_URL=postgres://miniflux:99uskas0_l@pg_db/miniflux?sslmode=disable
|
# healthcheck:
|
||||||
- RUN_MIGRATIONS=1
|
# test: ["CMD", "pg_isready", "-U", "miniflux"]
|
||||||
- CREATE_ADMIN=1
|
# interval: 10s
|
||||||
- ADMIN_USERNAME=admin
|
# start_period: 30s
|
||||||
- ADMIN_PASSWORD=982#@2gGGHjf
|
|
||||||
|
|
||||||
pg_db:
|
|
||||||
image: postgres:17-alpine
|
|
||||||
container_name: pg_db
|
|
||||||
environment:
|
|
||||||
- POSTGRES_USER=miniflux
|
|
||||||
- POSTGRES_PASSWORD=99uskas0_l
|
|
||||||
- POSTGRES_DB=miniflux
|
|
||||||
volumes:
|
|
||||||
- /data/docker/volumes/pg_db:/var/lib/postgresql/data
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "pg_isready", "-U", "miniflux"]
|
|
||||||
interval: 10s
|
|
||||||
start_period: 30s
|
|
||||||
|
|
||||||
# whoami:
|
# whoami:
|
||||||
# image: "traefik/whoami"
|
# image: "traefik/whoami"
|
||||||
|
|
|
||||||
Reference in a new issue