Re-vamped the compose files
This commit is contained in:
parent
e89a9f84cd
commit
54ef176fe5
6 changed files with 61 additions and 154 deletions
|
@ -5,16 +5,15 @@ services:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
image: docuseal/docuseal:latest
|
image: docuseal/docuseal:latest
|
||||||
ports:
|
ports:
|
||||||
- 3069:3000
|
- '3069:3000'
|
||||||
volumes:
|
|
||||||
- ./docuseal:/data/docuseal
|
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=postgresql://postgres:postgres@postgres:5432/docuseal
|
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/docuseal
|
||||||
|
ROOT_DIR: ${ROOT_DIR}
|
||||||
|
volumes:
|
||||||
|
- ${ROOT_DIR}/app_data:/data/docuseal
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:15
|
image: postgres:15
|
||||||
volumes:
|
|
||||||
- './pg_data:/var/lib/postgresql/data'
|
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
|
@ -24,3 +23,5 @@ services:
|
||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
volumes:
|
||||||
|
- ${ROOT_DIR}/pg_data:/var/lib/postgresql/data
|
|
@ -1,75 +0,0 @@
|
||||||
version: "3.3"
|
|
||||||
x-environment: &environment
|
|
||||||
environment:
|
|
||||||
WEBAPP_URL: ${WEBAPP_URL}
|
|
||||||
NEXTAUTH_URL: ${WEBAPP_URL}
|
|
||||||
|
|
||||||
# PostgreSQL DB for Formbricks to connect to
|
|
||||||
DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/formbricks?schema=public"
|
|
||||||
|
|
||||||
# NextJS Auth
|
|
||||||
# @see: https://next-auth.js.org/configuration/options#nextauth_secret
|
|
||||||
# You can use: `openssl rand -hex 32` to generate one
|
|
||||||
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
|
|
||||||
|
|
||||||
# Encryption Key is used for 2FA & Single use URLs for Link Surveys
|
|
||||||
# You can use: $(openssl rand -hex 32) to generate one
|
|
||||||
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
|
|
||||||
|
|
||||||
# API Secret for running cron jobs.
|
|
||||||
# You can use: $(openssl rand -hex 32) to generate a secure one
|
|
||||||
CRON_SECRET: ${CRON_SECRET}
|
|
||||||
|
|
||||||
# Email Configuration
|
|
||||||
MAIL_FROM: ${MAIL_FROM}
|
|
||||||
SMTP_HOST: ${SMTP_HOST}
|
|
||||||
SMTP_PORT: ${SMTP_PORT}
|
|
||||||
SMTP_USER: ${SMTP_USER}
|
|
||||||
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
|
||||||
|
|
||||||
SMTP_SECURE_ENABLED: 1
|
|
||||||
|
|
||||||
# Set the below to 0 to enable Email Verification for new signups (will required Email Configuration)
|
|
||||||
EMAIL_VERIFICATION_DISABLED: 1
|
|
||||||
|
|
||||||
# Set the below to 0 to enable Password Reset (will required Email Configuration)
|
|
||||||
PASSWORD_RESET_DISABLED: 1
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
restart: always
|
|
||||||
image: postgres:15-alpine
|
|
||||||
volumes:
|
|
||||||
- postgres:/var/lib/postgresql/data
|
|
||||||
environment:
|
|
||||||
# Postgres DB Super User Password
|
|
||||||
# Replace the below with your own secure password & Make sure the password matches the password field in DATABASE_URL above
|
|
||||||
- POSTGRES_PASSWORD=postgres
|
|
||||||
|
|
||||||
formbricks:
|
|
||||||
restart: always
|
|
||||||
image: ghcr.io/formbricks/formbricks:latest
|
|
||||||
depends_on:
|
|
||||||
- postgres
|
|
||||||
ports:
|
|
||||||
- 3333:3000
|
|
||||||
volumes:
|
|
||||||
- uploads:/home/nextjs/apps/web/uploads/
|
|
||||||
<<: *environment
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
postgres:
|
|
||||||
driver: local
|
|
||||||
uploads:
|
|
||||||
# Example dotend env
|
|
||||||
# WEBAPP_URL=https://formbricks.example.com
|
|
||||||
# NEXTAUTH_URL=https://formbricks.example.com
|
|
||||||
# DATABASE_URL=postgresql://postgres:postgres@postgres:5432/formbricks?schema=public
|
|
||||||
# NEXTAUTH_SECRET=secret
|
|
||||||
# ENCRYPTION_KEY=secret
|
|
||||||
# CRON_SECRET=secret
|
|
||||||
# MAIL_FROM=noreply@example.com
|
|
||||||
# SMTP_HOST=smtp.example.com
|
|
||||||
# SMTP_PORT=587
|
|
||||||
# SMTP_USER=user@example.com
|
|
||||||
# SMTP_PASSWORD=password
|
|
11
compose/git.runner.yml
Normal file
11
compose/git.runner.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
services:
|
||||||
|
runner:
|
||||||
|
image: gitea/act_runner:nightly
|
||||||
|
environment:
|
||||||
|
GITEA_INSTANCE_URL: ${INSTANCE_URL}
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN: ${REGISTRATION_TOKEN}
|
||||||
|
GITEA_RUNNER_NAME: ${RUNNER_NAME}
|
||||||
|
ROOT_DIR: ${ROOT_DIR}
|
||||||
|
volumes:
|
||||||
|
- ${ROOT_DIR}:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
@ -1,28 +1,19 @@
|
||||||
# Create a secret with:
|
|
||||||
#
|
|
||||||
# openssl rand -hex 20
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
postgres:
|
||||||
docker-in-docker:
|
image: postgres:17-alpine
|
||||||
image: code.forgejo.org/oci/docker:dind
|
|
||||||
hostname: docker
|
|
||||||
privileged: true
|
|
||||||
environment:
|
environment:
|
||||||
DOCKER_TLS_CERTDIR: /certs
|
POSTGRES_USER: ${POSTGRES_USER}
|
||||||
DOCKER_HOST: docker-in-docker
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
POSTGRES_DB: forgejo
|
||||||
volumes:
|
volumes:
|
||||||
- ${ROOT_DIR}/docker_certs:/certs
|
- ${ROOT_DIR}/postgres_data:/var/lib/postgresql/data
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
|
||||||
forgejo:
|
forgejo:
|
||||||
image: codeberg.org/forgejo/forgejo:8
|
image: codeberg.org/forgejo/forgejo:9
|
||||||
command: >-
|
depends_on:
|
||||||
bash -c '
|
- postgres
|
||||||
/bin/s6-svscan /etc/s6 &
|
|
||||||
sleep 10 ;
|
|
||||||
su -c "forgejo forgejo-cli actions register --secret ${SHARED_SECRET}" git ;
|
|
||||||
sleep infinity
|
|
||||||
'
|
|
||||||
environment:
|
environment:
|
||||||
FORGEJO__security__INSTALL_LOCK: "true"
|
FORGEJO__security__INSTALL_LOCK: "true"
|
||||||
FORGEJO__log__LEVEL: "debug"
|
FORGEJO__log__LEVEL: "debug"
|
||||||
|
@ -31,53 +22,16 @@ services:
|
||||||
FORGEJO__repository__DEFAULT_REPO_UNITS: "repo.code,repo.actions"
|
FORGEJO__repository__DEFAULT_REPO_UNITS: "repo.code,repo.actions"
|
||||||
FORGEJO__server__ROOT_URL: https://${ROOT_URL}
|
FORGEJO__server__ROOT_URL: https://${ROOT_URL}
|
||||||
FORGEJO__server__SSH_DOMAIN: ${ROOT_URL}
|
FORGEJO__server__SSH_DOMAIN: ${ROOT_URL}
|
||||||
FORGEJO__server__SSH_PORT: 2222
|
FORGEJO__server__SSH_PORT: 69
|
||||||
FORGEJO__server__START_SSH_SERVER: false
|
FORGEJO__server__START_SSH_SERVER: false
|
||||||
|
# PostgreSQL configuration
|
||||||
|
FORGEJO__database__DB_TYPE: postgres
|
||||||
|
FORGEJO__database__HOST: postgres:5432
|
||||||
|
FORGEJO__database__NAME: forgejo
|
||||||
|
FORGEJO__database__USER: ${POSTGRES_USER}
|
||||||
|
FORGEJO__database__PASSWD: ${POSTGRES_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- ${ROOT_DIR}/forgejo_data:/data
|
- ${ROOT_DIR}/forgejo_data:/data
|
||||||
ports:
|
ports:
|
||||||
- '8080:3000'
|
- '8080:3000'
|
||||||
- '2222:2222'
|
- '69:22'
|
||||||
|
|
||||||
runner-register:
|
|
||||||
image: code.forgejo.org/forgejo/runner:3.4.1
|
|
||||||
links:
|
|
||||||
- docker-in-docker
|
|
||||||
- forgejo
|
|
||||||
environment:
|
|
||||||
DOCKER_HOST: tcp://docker-in-docker:2376
|
|
||||||
volumes:
|
|
||||||
- ${ROOT_DIR}/runner_data:/data
|
|
||||||
user: 0:0
|
|
||||||
command: >-
|
|
||||||
bash -ec '
|
|
||||||
while : ; do
|
|
||||||
forgejo-runner create-runner-file --connect --instance http://forgejo:3000 --name runner --secret ${SHARED_SECRET} && break ;
|
|
||||||
sleep 1 ;
|
|
||||||
done ;
|
|
||||||
sed -i -e "s|\"labels\": null|\"labels\": [\"docker:docker://code.forgejo.org/oci/alpine:3.18\", \"ubuntu-latest:docker://catthehacker/ubuntu:act-22.04\"]|" .runner ;
|
|
||||||
forgejo-runner generate-config > config.yml ;
|
|
||||||
sed -i -e "s|network: .*|network: host|" config.yml ;
|
|
||||||
sed -i -e "s|^ envs:$$| envs:\n DOCKER_HOST: tcp://docker:2376\n DOCKER_TLS_VERIFY: 1\n DOCKER_CERT_PATH: /certs/client|" config.yml ;
|
|
||||||
sed -i -e "s|^ options:| options: -v /certs/client:/certs/client|" config.yml ;
|
|
||||||
sed -i -e "s| valid_volumes: \[\]$$| valid_volumes:\n - /certs/client|" config.yml ;
|
|
||||||
chown -R 1000:1000 /data
|
|
||||||
'
|
|
||||||
|
|
||||||
runner-daemon:
|
|
||||||
image: code.forgejo.org/forgejo/runner:3.4.1
|
|
||||||
links:
|
|
||||||
- docker-in-docker
|
|
||||||
- forgejo
|
|
||||||
environment:
|
|
||||||
DOCKER_HOST: tcp://docker:2376
|
|
||||||
DOCKER_CERT_PATH: /certs/client
|
|
||||||
DOCKER_TLS_VERIFY: "1"
|
|
||||||
volumes:
|
|
||||||
- ${ROOT_DIR}/runner_data:/data
|
|
||||||
- ${ROOT_DIR}/docker_certs:/certs
|
|
||||||
command: >-
|
|
||||||
bash -c '
|
|
||||||
while : ; do test -w .runner && forgejo-runner --config config.yml daemon ; sleep 1 ; done
|
|
||||||
'
|
|
|
@ -5,11 +5,7 @@ services:
|
||||||
image: "louislam/uptime-kuma:1"
|
image: "louislam/uptime-kuma:1"
|
||||||
ports:
|
ports:
|
||||||
- "17958:3001"
|
- "17958:3001"
|
||||||
networks:
|
environment:
|
||||||
- proxy
|
ROOT_DIR: ${ROOT_DIR}
|
||||||
volumes:
|
volumes:
|
||||||
- "./uptimekuma_data:/app/data"
|
- "${ROOT_DIR}:/app/data"
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
|
|
20
compose/vaultwarden.yml
Normal file
20
compose/vaultwarden.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
services:
|
||||||
|
vaultwarden:
|
||||||
|
image: vaultwarden/server:latest
|
||||||
|
container_name: vaultwarden
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- '9445:80'
|
||||||
|
environment:
|
||||||
|
ADMIN_TOKEN: ${ADMIN_TOKEN}
|
||||||
|
WEBSOCKET_ENABLED: true
|
||||||
|
SIGNUPS_ALLOWED: false
|
||||||
|
SMTP_HOST: ${SMTP_HOST}
|
||||||
|
SMTP_FROM: ${SMTP_FROM}
|
||||||
|
SMTP_PORT: ${SMTP_PORT}
|
||||||
|
SMTP_SSL: ${SMTP_SSL}
|
||||||
|
SMTP_USERNAME: ${SMTP_USERNAME}
|
||||||
|
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
||||||
|
DOMAIN: ${DOMAIN}
|
||||||
|
volumes:
|
||||||
|
- ${ROOT_DIR}:/data:rw
|
Loading…
Add table
Reference in a new issue