Compare commits
No commits in common. "alpine" and "master" have entirely different histories.
9 changed files with 32 additions and 117 deletions
|
@ -2,10 +2,12 @@
|
||||||
|
|
||||||
mkdir ./uploads ./static ./config -p
|
mkdir ./uploads ./static ./config -p
|
||||||
|
|
||||||
|
chown -R 911:911 ./uploads
|
||||||
|
|
||||||
if [ ! -f ./script_config.sh ]; then
|
if [ ! -f ./script_config.sh ]; then
|
||||||
cp ./script_config_sample.sh ./script_config.sh
|
cp ./script_config_sample.sh ./script_config.sh
|
||||||
fi
|
fi
|
||||||
source ./script_config.sh
|
|
||||||
podman pod create \
|
podman pod create \
|
||||||
--name rebased-pod \
|
--name rebased-pod \
|
||||||
-p $PORT:5000
|
-p 5000:5000
|
||||||
|
|
|
@ -2,5 +2,13 @@
|
||||||
|
|
||||||
source ./script_config.sh
|
source ./script_config.sh
|
||||||
|
|
||||||
podman build -f Containerfile --build-arg="BUILD_DATE=$DATE" --build-arg="VCS_REF=$REBASED_VER" -t $REBASED_IMG
|
if [ ! -d ./build ]; then
|
||||||
|
git clone https://gitlab.com/soapbox-pub/rebased.git ./build
|
||||||
|
cd ./build
|
||||||
|
else
|
||||||
|
cd ./build
|
||||||
|
git pull
|
||||||
|
fi
|
||||||
|
|
||||||
|
podman build -f Dockerfile --build-arg="BUILD_DATE=$DATE" --build-arg="VCS_REF=$REBASED_VER" -t $REBASED_IMG
|
||||||
|
|
||||||
|
|
|
@ -6,20 +6,28 @@ touch ./config/prod.secret.exs
|
||||||
echo Stopping old 'rebased-web' container...
|
echo Stopping old 'rebased-web' container...
|
||||||
podman stop rebased-web
|
podman stop rebased-web
|
||||||
podman rm rebased-web
|
podman rm rebased-web
|
||||||
chmod -R 777 uploads
|
|
||||||
|
|
||||||
echo Creating new 'rebased-web' container...
|
echo Creating new 'rebased-web' container...
|
||||||
|
if [ ! -f ./config/prod.secret.exs ]; then
|
||||||
|
$conf=""
|
||||||
|
fi
|
||||||
podman run -d \
|
podman run -d \
|
||||||
--name rebased-web \
|
--name rebased-web \
|
||||||
--pod rebased-pod \
|
--pod rebased-pod \
|
||||||
-e DB_USER=$PG_USER \
|
|
||||||
-e DB_PASS=$PG_PASS \
|
|
||||||
-e DB_NAME=$PG_NAME \
|
|
||||||
-e DB_HOST=$PG_HOST \
|
|
||||||
-v ./uploads:/var/lib/pleroma/uploads:z \
|
-v ./uploads:/var/lib/pleroma/uploads:z \
|
||||||
-v ./static:/var/lib/pleroma/static:z \
|
-v ./static:/var/lib/pleroma/static:z \
|
||||||
|
-v ./config:/config:rw \
|
||||||
-v ./config:/var/lib/pleroma/config \
|
-v ./config:/var/lib/pleroma/config \
|
||||||
-v ./config/prod.secret.exs:/var/lib/pleroma/config.exs \
|
-v ./config/prod.secret.exs:/var/lib/pleroma/config.exs \
|
||||||
|
-e DOMAIN=social.example.com \
|
||||||
|
-e INSTANCE_NAME=rebased \
|
||||||
|
-e ADMIN_EMAIL=admin@example.com \
|
||||||
|
-e NOTIFY_EMAIL=notify@example.com \
|
||||||
|
-e DB_USER=rebased \
|
||||||
|
-e DB_PASS=rebased \
|
||||||
|
-e DB_NAME=rebased \
|
||||||
|
-e DB_HOST=localhost \
|
||||||
|
-e POSTGRES_HOST=localhost \
|
||||||
$REBASED_IMG
|
$REBASED_IMG
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
|
|
||||||
source ./script_config.sh
|
source ./script_config.sh
|
||||||
|
|
||||||
podman exec -it --user=0 rebased-web /opt/pleroma/bin/pleroma_ctl instance gen
|
podman exec -it --user=0 --privileged rebased-web /opt/pleroma/bin/pleroma_ctl instance gen
|
||||||
podman exec rebased-web cat /src/config/generated_config.exs > ./config/prod.secret.exs
|
echo "Check files in config - if all looks good rename generated_config.exs to prod.secret.exs"
|
||||||
echo .
|
|
||||||
echo =========================
|
|
||||||
echo "Check ./config/prod.secret.exs and if all looks OK, restart rebased-web container"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
admin=""
|
|
||||||
echo "Username:"
|
|
||||||
read -r user
|
|
||||||
echo "Email:"
|
|
||||||
read -r email
|
|
||||||
echo "Make Admin? (y/N)"
|
|
||||||
read -r makeadmin
|
|
||||||
if [[ $makeadmin == "y" ]]; then
|
|
||||||
admin="--admin"
|
|
||||||
fi
|
|
||||||
podman exec -it rebased-web /opt/pleroma/bin/pleroma_ctl user new $user $email $admin
|
|
||||||
echo Done.
|
|
|
@ -1,71 +0,0 @@
|
||||||
FROM elixir:1.14.1-alpine as build
|
|
||||||
|
|
||||||
ARG MIX_ENV=prod \
|
|
||||||
OAUTH_CONSUMER_STRATEGIES="twitter facebook google microsoft slack github keycloak:ueberauth_keycloak_strategy"
|
|
||||||
|
|
||||||
WORKDIR /src
|
|
||||||
|
|
||||||
RUN echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories
|
|
||||||
RUN apk update &&\
|
|
||||||
apk add git bash gcc g++ musl-dev make cmake file-dev \
|
|
||||||
exiftool imagemagick libmagic ncurses postgresql-client ffmpeg
|
|
||||||
RUN git clone https://gitlab.com/soapbox-pub/rebased.git /src
|
|
||||||
RUN mix local.hex --force &&\
|
|
||||||
mix local.rebar --force
|
|
||||||
|
|
||||||
RUN cd /src &&\
|
|
||||||
mix deps.get --only prod &&\
|
|
||||||
mkdir release &&\
|
|
||||||
mix release --path release
|
|
||||||
|
|
||||||
ARG BUILD_DATE
|
|
||||||
ARG VCS_REF
|
|
||||||
|
|
||||||
ENV TZ="Etc/UTC"
|
|
||||||
|
|
||||||
LABEL maintainer="hello@soapbox.pub" \
|
|
||||||
org.opencontainers.image.title="rebased" \
|
|
||||||
org.opencontainers.image.description="Rebased" \
|
|
||||||
org.opencontainers.image.authors="hello@soapbox.pub" \
|
|
||||||
org.opencontainers.image.vendor="soapbox.pub" \
|
|
||||||
org.opencontainers.image.documentation="https://gitlab.com/soapbox-pub/rebased" \
|
|
||||||
org.opencontainers.image.licenses="AGPL-3.0" \
|
|
||||||
org.opencontainers.image.url="https://soapbox.pub" \
|
|
||||||
org.opencontainers.image.revision=$VCS_REF \
|
|
||||||
org.opencontainers.image.created=$BUILD_DATE
|
|
||||||
|
|
||||||
ARG HOME=/opt/pleroma
|
|
||||||
ARG DATA=/var/lib/pleroma
|
|
||||||
|
|
||||||
RUN apk add curl ca-certificates imagemagick libmagic ffmpeg postgresql-client elixir
|
|
||||||
RUN git clone https://github.com/facebookresearch/fastText.git ./fasttext &&\
|
|
||||||
cd fasttext && make && ls
|
|
||||||
RUN addgroup rebased &&\
|
|
||||||
adduser --system --shell /bin/false -G rebased --home ${HOME} rebased &&\
|
|
||||||
mkdir -p ${DATA}/uploads &&\
|
|
||||||
mkdir -p ${DATA}/static &&\
|
|
||||||
chown -R rebased ${DATA} &&\
|
|
||||||
mkdir -p /etc/pleroma &&\
|
|
||||||
chown -R rebased /etc/pleroma &&\
|
|
||||||
mkdir -p /usr/share/fasttext &&\
|
|
||||||
curl -L https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.ftz -o /usr/share/fasttext/lid.176.ftz &&\
|
|
||||||
chmod 0644 /usr/share/fasttext/lid.176.ftz
|
|
||||||
|
|
||||||
RUN cp /src/fasttext/fasttext /usr/bin/fasttext
|
|
||||||
|
|
||||||
USER rebased
|
|
||||||
|
|
||||||
RUN cp -r /src/release/* ${HOME}
|
|
||||||
|
|
||||||
RUN cp /src/config/docker.exs /etc/pleroma/config.exs &&\
|
|
||||||
cp /src/docker-entrypoint.sh ${HOME}
|
|
||||||
|
|
||||||
|
|
||||||
RUN chown -R rebased ${HOME} ${DATA}
|
|
||||||
RUN chmod +x ${HOME}/docker-entrypoint.sh
|
|
||||||
|
|
||||||
EXPOSE 5000
|
|
||||||
|
|
||||||
WORKDIR /var/lib/pleroma
|
|
||||||
|
|
||||||
ENTRYPOINT ["/opt/pleroma/docker-entrypoint.sh"]
|
|
|
@ -11,10 +11,8 @@ Its main advantages are its lightness and speed.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
This podman set up build and creates a Rebased container image using Alpine Linux.
|
This podman set up is configured using the official Dockerfile at [Rebased GitLab](https://gitlab.com/soapbox-pub/rebased)
|
||||||
Working through each script will allow you to set up your own Rebased server.
|
and working through each script will allow you to set up your own Rebased server.
|
||||||
|
|
||||||
For a more "official" set up, please use the `ubuntu` branch of this repo which builds the image directly using Rebased's own Dockerfile.
|
|
||||||
|
|
||||||
## Build-time variables
|
## Build-time variables
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
DATE=$(date +"%Y-%m-%d")
|
DATE=$(date +"%Y-%m-%d")
|
||||||
PORT=5000
|
PG_USER=pleroma
|
||||||
PG_USER=rebased
|
|
||||||
PG_PASS=rebased
|
PG_PASS=rebased
|
||||||
PG_HOST=localhost
|
PG_HOST=localhost
|
||||||
PG_NAME=rebased
|
PG_NAME=pleroma
|
||||||
REBASED_VER=develop
|
REBASED_VER=develop
|
||||||
|
|
||||||
REBASED_IMG="rebased-$REBASED_VER-$DATE"
|
REBASED_IMG="rebased-$REBASED_VER-$DATE"
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
DATE=$(date +"%Y-%m-%d")
|
|
||||||
PORT=5000
|
|
||||||
PG_USER=rebased
|
|
||||||
PG_PASS=rebased
|
|
||||||
PG_HOST=localhost
|
|
||||||
PG_NAME=rebased
|
|
||||||
REBASED_VER=develop
|
|
||||||
|
|
||||||
REBASED_IMG="rebased-$REBASED_VER-$DATE"
|
|
||||||
echo $REBASED_IMG
|
|
Loading…
Reference in a new issue