This commit is contained in:
Lamp 2024-05-16 19:15:45 -07:00
parent 4c940e687d
commit 5fc033562a
2 changed files with 24 additions and 27 deletions

@ -1,22 +1,19 @@
services:
db:
postgres:
restart: unless-stopped
image: postgresql-16-rum
build: docker-images/postgresql-16-rum
volumes:
- "./data/db:/var/lib/postgresql/data"
- "./data/postgresql:/var/lib/postgresql/data"
- "./pleroma/config/setup_db.psql:/docker-entrypoint-initdb.d/setup_db.sql"
- "postgresql_sockets:/run/postgresql/"
# uncomment to allow remote admin access to db
#ports:
# - "5432:5432"
environment:
# put secure password here
# this password is only used for administration
# superuser password required by postgres image
- "POSTGRES_PASSWORD=change_this"
network_mode: none
pleroma:
restart: unless-stopped
image: pleroma-env
depends_on:
- postgres
build: docker-images/pleroma-env
working_dir: /pleroma
command: mix phx.server
@ -28,6 +25,6 @@ services:
- "./data/static:/static"
- "./data/uploads:/uploads"
- "postgresql_sockets:/run/postgresql/"
network_mode: bridge
volumes:
postgresql_sockets:

@ -8,23 +8,23 @@ Tip: Always install latest version of Docker! https://docs.docker.com/engine/ins
2. Edit docker-compose.yml, set a secure db admin password, change ports if necessary
3. `docker compose build`
4. `git clone https://git.pleroma.social/pleroma/pleroma.git`
5. `mkdir -p data/{db,static,uploads}; sudo chown -R 888:888 pleroma data`
6. `docker compose run --rm pleroma mix deps.get`
7. `docker compose run --rm pleroma mix pleroma.instance gen`
1. When it asks for database hostname, type in `db`
2. Database name, user and password can be left default
3. `y` at RUM indices
4. Default `4000` for port
5. Listen on `0.0.0.0`!
6. Media uploads in `/uploads`
7. "Custom public files" in `/static`
5. `mkdir -p data/{static,uploads}; sudo chown -R 888:888 pleroma data/{static,uploads}`
6. `docker compose run --rm --no-deps pleroma mix deps.get`
7. `docker compose run --rm --no-deps pleroma mix pleroma.instance gen`
1. Use defaults for db
2. `y` at RUM indices
3. Default `4000` for port
4. Listen on `0.0.0.0`!
5. Media uploads in `/uploads`
6. "Custom public files" in `/static`
8. `sudo mv pleroma/config/{generated_config.exs,prod.secret.exs}`
9. `docker compose up -d db`
- Check if setup_db.sql ran successfully: `docker compose logs db`
10. `docker compose run --rm pleroma mix ecto.migrate`
11. `docker compose run --rm pleroma mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/`
12. If you wanted to store config in db: `docker compose run --rm pleroma mix pleroma.config migrate_to_db`
13. `docker compose up -d pleroma`
9. `sudo sed -i 's~hostname: "localhost"~socket_dir: "/run/postgresql/"~' pleroma/config/prod.secret.exs`
10. `docker compose up -d postgres`
- Check if setup_db.sql ran successfully: `docker compose logs postgres`
11. `docker compose run --rm pleroma mix ecto.migrate`
12. `docker compose run --rm pleroma mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/`
13. If you wanted to store config in db: `docker compose run --rm pleroma mix pleroma.config migrate_to_db`
14. `docker compose up -d pleroma`
- Check if running: `curl localhost:4000`
Now connect your reverse proxy. For Caddy (recommended):
@ -54,4 +54,4 @@ Once the website is working, create admin user: `docker compose exec pleroma mix
Create pleroma user on host system: `sudo useradd -r -u 888 pleroma`
Easier access to config: `ln -s pleroma/config/prod.secret.exs`
Easier access to config: `ln -s pleroma/config/prod.secret.exs`