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
125
config.scm
125
config.scm
|
|
@ -1,7 +1,8 @@
|
|||
;; Indicate which modules to import to access the variables
|
||||
;; used in this configuration.
|
||||
(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
|
||||
(locale "en_US.utf8")
|
||||
|
|
@ -16,7 +17,7 @@
|
|||
(comment "bartronx7")
|
||||
(group "users")
|
||||
(home-directory "/home/bartronx7")
|
||||
(supplementary-groups '("wheel" "netdev" "audio" "video" "www-data" "docker")))
|
||||
(supplementary-groups '("wheel" "netdev" "audio" "video" "docker")))
|
||||
%base-user-accounts))
|
||||
|
||||
;; Below is the list of system services. To search for available
|
||||
|
|
@ -34,10 +35,124 @@
|
|||
(service containerd-service-type)
|
||||
(service docker-service-type (docker-configuration
|
||||
(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"))))))
|
||||
|
||||
(service oci-container-service-type (list
|
||||
(oci-container-configuration
|
||||
(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")))))))
|
||||
|
||||
;; This is the default list of services we
|
||||
;; are appending to.
|
||||
%base-services))
|
||||
|
||||
(bootloader (bootloader-configuration
|
||||
|
|
|
|||
|
|
@ -31,117 +31,117 @@ services:
|
|||
- 'traefik.http.routers.api.service=api@internal'
|
||||
# - 'traefik.http.routers.api.middlewares=authelia@docker'
|
||||
|
||||
pktriot:
|
||||
image: packetriot/pktriot:latest
|
||||
container_name: pktriot
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /data/docker/volumes/pktriot:/data:rw
|
||||
# pktriot:
|
||||
# image: packetriot/pktriot:latest
|
||||
# container_name: pktriot
|
||||
# restart: unless-stopped
|
||||
# volumes:
|
||||
# - /data/docker/volumes/pktriot:/data:rw
|
||||
|
||||
mariadb:
|
||||
image: mariadb:10.6
|
||||
container_name: mariadb
|
||||
restart: always
|
||||
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
||||
volumes:
|
||||
- /data/docker/volumes/mariadb:/var/lib/mysql:rw
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=fji9_+jK12dEW
|
||||
- MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
# mariadb:
|
||||
# image: mariadb:10.6
|
||||
# container_name: mariadb
|
||||
# restart: always
|
||||
# command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
||||
# volumes:
|
||||
# - /data/docker/volumes/mariadb:/var/lib/mysql:rw
|
||||
# environment:
|
||||
# - MYSQL_ROOT_PASSWORD=fji9_+jK12dEW
|
||||
# - MYSQL_PASSWORD=Z67dJ0rKBSU74ZwvqIsd
|
||||
# - MYSQL_DATABASE=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:
|
||||
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
|
||||
# plex:
|
||||
# image: plexinc/pms-docker
|
||||
# container_name: plex
|
||||
# init: true
|
||||
# hostname: excellon
|
||||
# restart: always
|
||||
# ports:
|
||||
# - 32400:32400
|
||||
# - 8324:8324
|
||||
# - 32469:32469
|
||||
# - 1900:1900
|
||||
# - 32410:32410
|
||||
# - 32412:32412
|
||||
# - 32413:32413
|
||||
# - 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
|
||||
|
||||
plex:
|
||||
image: plexinc/pms-docker
|
||||
container_name: plex
|
||||
init: true
|
||||
hostname: excellon
|
||||
restart: always
|
||||
ports:
|
||||
- 32400:32400
|
||||
- 8324:8324
|
||||
- 32469:32469
|
||||
- 1900:1900
|
||||
- 32410:32410
|
||||
- 32412:32412
|
||||
- 32413:32413
|
||||
- 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:
|
||||
# image: codeberg.org/forgejo/forgejo:9
|
||||
# container_name: forgejo
|
||||
# environment:
|
||||
# - USER_UID=1000
|
||||
# - USER_GID=1000
|
||||
# restart: always
|
||||
# volumes:
|
||||
# - /data/docker/volumes/forgejo:/data
|
||||
# - /etc/timezone:/etc/timezone:ro
|
||||
# - /etc/localtime:/etc/localtime:ro
|
||||
# ports:
|
||||
# - '3000:3000'
|
||||
# - '222:22'
|
||||
|
||||
forgejo:
|
||||
image: codeberg.org/forgejo/forgejo:9
|
||||
container_name: forgejo
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
restart: always
|
||||
volumes:
|
||||
- /data/docker/volumes/forgejo:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- '3000:3000'
|
||||
- '222:22'
|
||||
|
||||
miniflux:
|
||||
image: miniflux/miniflux:latest
|
||||
container_name: miniflux
|
||||
ports:
|
||||
- "8081:8080"
|
||||
depends_on:
|
||||
pg_db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- DATABASE_URL=postgres://miniflux:99uskas0_l@pg_db/miniflux?sslmode=disable
|
||||
- RUN_MIGRATIONS=1
|
||||
- CREATE_ADMIN=1
|
||||
- ADMIN_USERNAME=admin
|
||||
- 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
|
||||
# miniflux:
|
||||
# image: miniflux/miniflux:latest
|
||||
# container_name: miniflux
|
||||
# ports:
|
||||
# - "8081:8080"
|
||||
# depends_on:
|
||||
# pg_db:
|
||||
# condition: service_healthy
|
||||
# environment:
|
||||
# - DATABASE_URL=postgres://miniflux:99uskas0_l@pg_db/miniflux?sslmode=disable
|
||||
# - RUN_MIGRATIONS=1
|
||||
# - CREATE_ADMIN=1
|
||||
# - ADMIN_USERNAME=admin
|
||||
# - 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:
|
||||
# image: "traefik/whoami"
|
||||
|
|
|
|||
Reference in a new issue