Unverified Commit e3921674 authored by Julian Raufelder's avatar Julian Raufelder Committed by GitHub
Browse files

Add framadate (#34)



* Add framadate

* Apply suggestions from code review

Co-authored-by: default avatarTom Moulard <tom@moulard.org>

* chore: lint

* chore: add gitignore

* chore: update tests

Co-authored-by: default avatarTom Moulard <tom@moulard.org>
parent 18738f73
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5,6 +5,12 @@ ELASTICSEARCH_DISCOVERY_TYPE=
ELASTICSEARCH_IMAGE_VERSION=
ELASTICSEARCH_JAVA_OPTS=
ELASTICSEARCH_MEMORY_LOCK=
FRAMADATE_ADMIN_PASSWORD=
FRAMADATE_IMAGE_VERSION=
FRAMADATE_MYSQL_DATABASE=
FRAMADATE_MYSQL_PASSWORD=
FRAMADATE_MYSQL_ROOT_PASSWORD=
FRAMADATE_MYSQL_USER=
HOME=
JACKETT_GPID=
JACKETT_IMAGE_VERSION=

framadate/.gitignore

0 → 100644
+1 −0
Original line number Diff line number Diff line
db

framadate/README.md

0 → 100644
+5 −0
Original line number Diff line number Diff line
# framadate

https://framagit.org/framasoft/framadate/framadate/

[Framadate](https://framadate.org) is an online service for planning an appointment or making a decision quickly and easily. It's a community free/libre software alternative to Doodle.
 No newline at end of file
+54 −0
Original line number Diff line number Diff line
version: '2'

networks:
  framadate-internal:

services:
  framadate-db:
    image: mysql:5.7
    volumes:
      - './framadate/db:/var/lib/mysql'
    environment:
      MYSQL_ROOT_PASSWORD: ${FRAMADATE_MYSQL_ROOT_PASSWORD:-pass}
      MYSQL_PASSWORD: ${FRAMADATE_MYSQL_PASSWORD:-framadate}
      MYSQL_DATABASE: ${FRAMADATE_MYSQL_DATABASE:-framadate}
      MYSQL_USER: ${FRAMADATE_MYSQL_USER:-framadate}
    restart: always
    healthcheck:
      test: ['CMD', 'mysqlcheck', '--all-databases', '-ppass']
      interval: 10s
      timeout: 10s
      retries: 5
    networks:
      - 'framadate-internal'
    labels:
      - 'traefik.enable=false'

  framadate:
    image: xgaia/framadate:${FRAMADATE_IMAGE_VERSION:-latest}
    depends_on:
      - framadate-db
    environment:
      APP_URL: framadate.${SITE:-localhost}
      SERVERNAME: framadate.${SITE:-localhost}
      ADMIN_PASSWORD: ${FRAMADATE_ADMIN_PASSWORD:-pass}
      APP_NAME: Framadate
      MYSQL_ROOT_PASSWORD: ${FRAMADATE_MYSQL_ROOT_PASSWORD:-pass}
      MYSQL_PASSWORD: ${FRAMADATE_MYSQL_PASSWORD:-framadate}
      MYSQL_DATABASE: ${FRAMADATE_MYSQL_DATABASE:-framadate}
      MYSQL_USER: ${FRAMADATE_MYSQL_USER:-framadate}
      SHOW_WHAT_IS_THAT: "true"
      SHOW_THE_SOFTWARE: "true"
      SHOW_CULTIVATE_YOUR_GARDEN: "true"
      DEFAULT_POLL_DURATION: 365
      USER_CAN_ADD_IMG_OR_LINK: "true"
      MARKDOWN_EDITOR_BY_DEFAULT: "true"
      PROVIDE_FORK_AWESOME: "true"
    restart: always
    networks:
      - 'srv'
      - 'framadate-internal'
    labels:
      - 'traefik.enable=true'
      - 'traefik.http.routers.framadate.rule=Host(`framadate.${SITE:-localhost}`)'
      - 'traefik.http.services.framadate.loadbalancer.server.port=80'
+53 −0
Original line number Diff line number Diff line
networks:
  codi-internal: {}
  framadate-internal: {}
  hits-internal: {}
  mastodon-internal: {}
  nextcloud-internal: {}
@@ -173,6 +174,58 @@ services:
    restart: always
    volumes:
    - /home/runner/work/make-my-server/make-my-server/factorio:/factorio:rw
  framadate:
    depends_on:
      framadate-db:
        condition: service_started
    environment:
      ADMIN_PASSWORD: pass
      APP_NAME: Framadate
      APP_URL: framadate.localhost
      DEFAULT_POLL_DURATION: 365
      MARKDOWN_EDITOR_BY_DEFAULT: "true"
      MYSQL_DATABASE: framadate
      MYSQL_PASSWORD: framadate
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_USER: framadate
      PROVIDE_FORK_AWESOME: "true"
      SERVERNAME: framadate.localhost
      SHOW_CULTIVATE_YOUR_GARDEN: "true"
      SHOW_THE_SOFTWARE: "true"
      SHOW_WHAT_IS_THAT: "true"
      USER_CAN_ADD_IMG_OR_LINK: "true"
    image: xgaia/framadate:latest
    labels:
      traefik.enable: "true"
      traefik.http.routers.framadate.rule: Host(`framadate.localhost`)
      traefik.http.services.framadate.loadbalancer.server.port: '80'
    networks:
      framadate-internal: {}
      srv: {}
    restart: always
  framadate-db:
    environment:
      MYSQL_DATABASE: framadate
      MYSQL_PASSWORD: framadate
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_USER: framadate
    healthcheck:
      interval: 10s
      retries: 5
      test:
      - CMD
      - mysqlcheck
      - --all-databases
      - -ppass
      timeout: 10s
    image: mysql:5.7
    labels:
      traefik.enable: "false"
    networks:
      framadate-internal: {}
    restart: always
    volumes:
    - /home/runner/work/make-my-server/make-my-server/framadate/db:/var/lib/mysql:rw
  gitlab:
    environment:
      GITLAB_OMNIBUS_CONFIG: 'external_url ''http://gitlab.localhost:80''