mirror of
https://memleak.eu/sn0w/pleroma-docker.git
synced 2024-12-22 06:58:52 -05:00
All dem environment variables
This commit is contained in:
parent
d5ad29eef4
commit
39f841ad57
13
.env.dist
13
.env.dist
@ -10,3 +10,16 @@ DOCKER_DATADIR=
|
|||||||
POSTGRES_DB=
|
POSTGRES_DB=
|
||||||
POSTGRES_USER=
|
POSTGRES_USER=
|
||||||
POSTGRES_PASSWORD=
|
POSTGRES_PASSWORD=
|
||||||
|
|
||||||
|
# Pleroma Settings
|
||||||
|
PLEROMA_URL=
|
||||||
|
PLEROMA_SCHEME=
|
||||||
|
PLEROMA_PORT=
|
||||||
|
PLEROMA_SECRET_KEY_BASE=
|
||||||
|
PLEROMA_NAME=
|
||||||
|
PLEROMA_ADMIN_EMAIL=
|
||||||
|
PLEROMA_USER_LIMIT=
|
||||||
|
PLEROMA_REGISTRATIONS_OPEN=
|
||||||
|
PLEROMA_MEDIA_PROXY_ENABLED=
|
||||||
|
PLEROMA_MEDIA_PROXY_REDIRECT_ON_FAILURE=
|
||||||
|
PLEROMA_MEDIA_PROXY_URL=
|
||||||
|
@ -3,18 +3,18 @@ version: "3"
|
|||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
external:
|
external:
|
||||||
name: ${DOCKER_NETWORK}
|
name: ${DOCKER_NETWORK:?DOCKER_NETWORK}
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres:10.3-alpine
|
image: postgres:10.3-alpine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: ${POSTGRES_DB}
|
POSTGRES_DB: ${POSTGRES_DB:?POSTGRES_DB}
|
||||||
POSTGRES_USER: ${POSTGRES_USER}
|
POSTGRES_USER: ${POSTGRES_USER:?POSTGRES_USER}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- ${DOCKER_DATADIR}/db:/var/lib/postgresql/data
|
- ${DOCKER_DATADIR:?DOCKER_DATADIR}/db:/var/lib/postgresql/data
|
||||||
|
|
||||||
server:
|
server:
|
||||||
build:
|
build:
|
||||||
@ -25,15 +25,40 @@ services:
|
|||||||
- db
|
- db
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_IP: db
|
POSTGRES_IP: db
|
||||||
POSTGRES_DB: ${POSTGRES_DB}
|
POSTGRES_DB: ${POSTGRES_DB:?POSTGRES_DB}
|
||||||
POSTGRES_USER: ${POSTGRES_USER}
|
POSTGRES_USER: ${POSTGRES_USER:?POSTGRES_USER}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD}
|
||||||
|
|
||||||
|
PLEROMA_URL: ${PLEROMA_URL:?PLEROMA_URL}
|
||||||
|
PLEROMA_SCHEME: ${PLEROMA_SCHEME:?PLEROMA_SCHEME}
|
||||||
|
PLEROMA_PORT: ${PLEROMA_PORT:?PLEROMA_PORT}
|
||||||
|
PLEROMA_SECRET_KEY_BASE: ${PLEROMA_SECRET_KEY_BASE:?PLEROMA_SECRET_KEY_BASE}
|
||||||
|
PLEROMA_NAME: ${PLEROMA_NAME:?PLEROMA_NAME}
|
||||||
|
PLEROMA_ADMIN_EMAIL: ${PLEROMA_ADMIN_EMAIL:?PLEROMA_ADMIN_EMAIL}
|
||||||
|
PLEROMA_USER_LIMIT: ${PLEROMA_USER_LIMIT:?PLEROMA_USER_LIMIT}
|
||||||
|
PLEROMA_REGISTRATIONS_OPEN: ${PLEROMA_REGISTRATIONS_OPEN:?PLEROMA_REGISTRATIONS_OPEN}
|
||||||
|
PLEROMA_MEDIA_PROXY_ENABLED: ${PLEROMA_MEDIA_PROXY_ENABLED:?PLEROMA_MEDIA_PROXY_ENABLED}
|
||||||
|
PLEROMA_MEDIA_PROXY_REDIRECT_ON_FAILURE: ${PLEROMA_MEDIA_PROXY_REDIRECT_ON_FAILURE:?PLEROMA_MEDIA_PROXY_REDIRECT_ON_FAILURE}
|
||||||
|
PLEROMA_MEDIA_PROXY_URL: ${PLEROMA_MEDIA_PROXY_URL:?PLEROMA_MEDIA_PROXY_URL}
|
||||||
|
|
||||||
PLEROMA_WORKSPACE: /pleroma
|
PLEROMA_WORKSPACE: /pleroma
|
||||||
MIX_ARCHIVES: /mix/archives
|
MIX_ARCHIVES: /mix/archives
|
||||||
MIX_HOME: /mix/home
|
MIX_HOME: /mix/home
|
||||||
|
MIX_ENV: prod
|
||||||
volumes:
|
volumes:
|
||||||
- ./pleroma:/pleroma
|
- ./pleroma:/pleroma
|
||||||
- ${DOCKER_DATADIR}/pleroma:/data
|
- ${DOCKER_DATADIR:?DOCKER_DATADIR}/pleroma:/data
|
||||||
- ${DOCKER_DATADIR}/mix:/mix
|
- ${DOCKER_DATADIR:?DOCKER_DATADIR}/mix:/mix
|
||||||
- ${DOCKER_DATADIR}/misc/cache:/root/.cache
|
- ${DOCKER_DATADIR:?DOCKER_DATADIR}/misc/cache:/root/.cache
|
||||||
- ${DOCKER_DATADIR}/misc/meta:/meta
|
- ${DOCKER_DATADIR:?DOCKER_DATADIR}/misc/meta:/meta
|
||||||
|
labels:
|
||||||
|
traefik.enable: "true"
|
||||||
|
traefik.fe.port: "4000"
|
||||||
|
traefik.fe.protocol: "http"
|
||||||
|
traefik.fe.entryPoints: "http,https"
|
||||||
|
traefik.fe.frontend.rule: "Host:${PLEROMA_URL:?PLEROMA_URL}"
|
||||||
|
traefik.cache.port: "80"
|
||||||
|
traefik.cache.protocol: "http"
|
||||||
|
traefik.cache.entryPoints: "http,https"
|
||||||
|
traefik.cache.frontend.rule: "Host:${PLEROMA_MEDIA_PROXY_URL:?PLEROMA_MEDIA_PROXY_URL}"
|
||||||
|
|
||||||
|
33
docker-config.exs
Normal file
33
docker-config.exs
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
use Mix.Config
|
||||||
|
|
||||||
|
env = fn name ->
|
||||||
|
env_name = "pleroma_" <> Atom.to_string(name) |> String.upcase
|
||||||
|
System.get_env(env_name) || raise "Could not find #{env_name} in environment. Please define it and try again."
|
||||||
|
end
|
||||||
|
|
||||||
|
config :pleroma, Pleroma.Web.Endpoint,
|
||||||
|
url: [
|
||||||
|
host: env.(:url),
|
||||||
|
scheme: env.(:scheme),
|
||||||
|
port: env.(:port)
|
||||||
|
],
|
||||||
|
secret_key_base: env.(:secret_key_base)
|
||||||
|
|
||||||
|
config :pleroma, :instance,
|
||||||
|
name: env.(:name),
|
||||||
|
email: env.(:admin_email),
|
||||||
|
limit: env.(:user_limit),
|
||||||
|
registrations_open: env.(:registrations_open)
|
||||||
|
|
||||||
|
config :pleroma, :media_proxy,
|
||||||
|
enabled: env.(:media_proxy_enabled),
|
||||||
|
redirect_on_failure: env.(:media_proxy_redirect_on_failure),
|
||||||
|
base_url: env.(:media_proxy_url)
|
||||||
|
|
||||||
|
config :pleroma, Pleroma.Repo,
|
||||||
|
adapter: Ecto.Adapters.Postgres,
|
||||||
|
username: env.(:db_user),
|
||||||
|
password: env.(:db_pass),
|
||||||
|
database: env.(:db_name),
|
||||||
|
hostname: env.(:db_host),
|
||||||
|
pool_size: env.(:db_pool_size)
|
@ -32,7 +32,16 @@ if [[ -z "$PLEROMA_WORKSPACE" ]]; then
|
|||||||
echo "Please set the PLEROMA_WORKSPACE variable to your pleroma root."
|
echo "Please set the PLEROMA_WORKSPACE variable to your pleroma root."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $PLEROMA_WORKSPACE
|
cd $PLEROMA_WORKSPACE
|
||||||
|
if [[ ! -L config/prod.secret.exs ]]; then
|
||||||
|
rm -f config/prod.secret.exs
|
||||||
|
ln -s /docker-config.exs config/prod.secret.exs
|
||||||
|
fi
|
||||||
|
if [[ ! -L config/dev.secret.exs ]]; then
|
||||||
|
rm -f config/dev.secret.exs
|
||||||
|
ln -s /docker-config.exs config/dev.secret.exs
|
||||||
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
build) action__build;;
|
build) action__build;;
|
||||||
|
@ -2,9 +2,11 @@ FROM elixir:1.6-alpine
|
|||||||
|
|
||||||
RUN apk add --no-cache --virtual .build alpine-sdk git
|
RUN apk add --no-cache --virtual .build alpine-sdk git
|
||||||
|
|
||||||
ADD ./entrypoint.sh /
|
ADD ./docker-config.exs /docker-config.exs
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ADD ./entrypoint.ash /
|
||||||
|
RUN chmod +x /entrypoint.ash
|
||||||
|
ENTRYPOINT ["/entrypoint.ash"]
|
||||||
CMD ["run"]
|
CMD ["run"]
|
||||||
|
|
||||||
EXPOSE 4000
|
EXPOSE 4000
|
||||||
|
Loading…
Reference in New Issue
Block a user