diff --git a/docker-compose.yml b/docker-compose.yml index 652ce57..afec6d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,47 +1,85 @@ -version: "3" - volumes: web-keys: db-data: -networks: - external_writefreely: - internal_writefreely: - internal: true - services: writefreely-web: + profiles: ["writefreely"] container_name: "writefreely-web" image: "writeas/writefreely:latest" volumes: - "web-keys:/go/keys" - "./config.ini:/go/config.ini" - networks: - - "internal_writefreely" - - "external_writefreely" - ports: - "8080:8080" depends_on: - "writefreely-db" restart: unless-stopped writefreely-db: + profiles: ["writefreely", "mariadb"] container_name: "writefreely-db" image: "mariadb:latest" - + ports: + - 3306:3306 volumes: - "db-data:/var/lib/mysql/data" - - networks: - - "internal_writefreely" - environment: - MYSQL_DATABASE=writefreely + - MYSQL_PASSWORD=changeme - MYSQL_ROOT_PASSWORD=changeme - + - MYSQL_USER=writefreely restart: unless-stopped + + Postgres: + profiles: ["pg"] + container_name: postgres-writefreely + image: postgres:18.3 + ports: + - 5432:5432 + environment: + - KC_HTTP_PORT=9000 + - POSTGRES_DB=writefreely + - POSTGRES_PASSWORD=changeme + - POSTGRES_USER=writefreely + + + Keycloak: + profiles: ["keycloak"] + container_name: keycloak-writefreely + image: quay.io/keycloak/keycloak:26.7.3 + network_mode: "host" + command: + - start-dev + environment: + - KC_BOOTSTRAP_ADMIN_PASSWORD=admin + - KC_BOOTSTRAP_ADMIN_USERNAME=admin + - KC_HTTP_HOST=127.0.0.1 + - KC_HTTP_PORT=9000 + + KeycloakSetup: + profiles: ["keycloak"] + container_name: keycloakSetup-writefreely + image: keycloak_setup_writefreely + network_mode: "host" + build: + context: compose/keycloak + dockerfile: Dockerfile + args: + KEYCLOAK_VERSION: 26.7.3 + depends_on: + - Keycloak + restart: "no" + environment: + - DUMMY_AUTHORITY=http://127.0.0.1:9000/realms/dummy + - DUMMY_REALM=dummy + - KC_BOOTSTRAP_ADMIN_PASSWORD=admin + - KC_BOOTSTRAP_ADMIN_USERNAME=admin + - KC_HTTP_HOST=127.0.0.1 + - KC_HTTP_PORT=9000 + - REDIRECT_URIS=["http://127.0.0.1:8080/*"] + - TEST_REALM=test