diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..304be82 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,11 @@ +stages: + - build + +build: + stage: build + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json + - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --destination $CI_REGISTRY_IMAGE:latest diff --git a/.woodpecker.yml b/.woodpecker.yml index c5baf80..fbb2f8e 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -3,12 +3,21 @@ pipeline: image: "docker.io/woodpeckerci/plugin-docker-buildx" settings: registry: "https://gitea.nulo.in" - username: "sutty-ci" + username: "sutty" repo: "gitea.nulo.in/sutty/pocketbase" tags: + - "${ALPINE_VERSION}" - "latest" + build_args: + - "ALPINE_VERSION=${ALPINE_VERSION}" + - "BASE_IMAGE=gitea.nulo.in/sutty/monit" secrets: - - "docker_password" + - "DOCKER_PASSWORD" when: branch: "antifascista" event: "push" +matrix: + ALPINE_VERSION: + - "3.19.0" + - "3.18.5" + - "3.17.6" diff --git a/Dockerfile b/Dockerfile index 9eea255..02ba8fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ ARG ALPINE_VERSION=3.18.3 -FROM gitea.nulo.in/sutty/sutty:${ALPINE_VERSION} +ARG BASE_IMAGE=gitea.nulo.in/sutty/monit +FROM ${BASE_IMAGE}:${ALPINE_VERSION} MAINTAINER "nulo " -RUN apk add --no-cache pocketbase -COPY 1687801090_sutty_initial_admin.js /pb/pb_migrations/ +RUN apk add --no-cache pocketbase daemonize +COPY ./pocketbased.sh /usr/local/bin/pocketbased +COPY ./monit.conf /etc/monit.d/pocketbase.conf -WORKDIR /pb -VOLUME /pb/pb_data -VOLUME /pb/pb_migrations -CMD ["pocketbase", "serve", "--http=0.0.0.0:8080", "--automigrate"] -EXPOSE 8080 \ No newline at end of file +VOLUME /srv/pocketbase + +EXPOSE 8080 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..80833c8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,168 @@ +Copyright (c) 2019 Sutty + +The following license is modified from the MIT license and downloaded +from on +2019-07-11. + +Anti-Fascist MIT License: + +The following conditions must be met by any person obtaining a copy of +this software: + +- You MAY NOT be a fascist. +- You MUST not financially support fascists. +- You MUST not intentionally provide or knowingly provide through + inaction a platform for fascists to spread propaganda or organize. +- You MUST not publicly voice support for fascists. +- You MAY NOT be a member of any fascist organization, even if you are a + member to infiltrate for anti-fascist purposes. + +"Fascist" can be understood as any group or individual who promotes the +political ideology of fascism. + +"Fascism" can be broken down into 11 ideological features as well as 8 +tactics that can form a fascist system in varying combinations, for the +sake of simplicity and brevity the individual or organization in +question must match to at least 5 features or tactics or a combination +of the two determined by the individual licencer. + +Said licencer may provide a list if an individual or group matches to at +least 5 features upon request from the individual or group in question. + +The ideological features are listed below. + +1. Hyper-nationalism. + +As defined as "The belief in the superiority of one's nation and of the +paramount importance of advancing it." + +2. Militarism. + +As defined as "Advocating for an increase in military forces beyond what +the real defense of a nation needs, more influence of the military upon +the policies of the civilian government, and a preference for force as a +solution over diplomacy for problems." + +3. Glorification of violence and readiness to use it in politics. + +As defined as "The belief that violence can be used to cleanse a +tarnished nation, also by using violence to harm, intimidate or kill +political oppoenents." + +4. Fetishization of youth. + +As defined as "Extolling the virtues of youth and making a special +appeal to young people to join a cause or organization" + +5. Fetishization of masculinity. + +As defined as "Extolling the virtues of male authority or patriarchy and +making a special appeal to men to be leaders of households and groups" + +6. Leader cult. + +As defined as "Creating an idealized, heroic, and worshipful image of a +leader, often through unquestioning flattery and praise." + +7. Lost-golden-age syndrome. + +As defined as "Creating or promoting the idea that a nation had a lost +or stolen golden age in the past that must be returned to" + +8. Self-definition by opposition. + +As defined as "Creating or promoting the idea that the group or +individual is the only person or way who can fight real or imagined +evils within a society." + +9. Mass mobilization and mass party. + +As defined as "Creating or promoting the creation of a populist group or +party for the advancment of fascist tactics or features." + +10. Hierarchical party structure and tendency to purge the disloyal. + +As defined as "Removal of membership from a group for lacking absolute +loyalty or lacking further usefulness to the group. Also having a +hierarchical structure within the group itself." + +11. Theatricality. + +As defined as "Using spectacle to gain and keep the attention of those +inside and outside of the group using speeches full of absolutes and or +superlatives. Elaborate collective rituals (rallies) meant to reenforce +loyalty within the group." + +Fascist tactics include + +1) Persecution of national minorities. +2) Persecution of racial minorities. +3) Persecution of religious minorities (Anti-Semitism, Islamophobia and others). +4) Promotion of a type of national purity. +5) Promotion of a state run by ideologically oriented corporate bodies. +6) Persecution of gender or sexual minorities. +7) Persecution of the disabled. +8) Formation of extra-legal forces (brownshirts) to defend fascist values. + +Special criteria: Meeting only one point of the special criteria is +enough to consider someone or a group to be fascist for the purposes of +this licence. + +1. Promotion of any theories that state members of the jewish ethnicity + or faith control or largely control the world, finance, or other + global major power system. + +2. Denial of the holocaust or any other historically proven genocide. + +3. Promotion of ethnostates. + +4. Advocating for eugenics. Either positive or negative eugenics. + Promotion for the rights of abortion are not considered eugenics. + +5. Advocating for the removal of rights or legal protections from a + class or group of people. + +Former fascists: People or organizations who used to promote the +political ideology of fascism but no longer do so must meet the +following criterea to be able to use this software. + +1. Publicly disavow past fascist deeds and ideologies. + +2. Expose any and all known fascists former allies to the public. + + A suggested route would be through the one peoples project + (onepeoplesproject.com). If they can confirm you have done so that + will count as meeting condition two. + +3. Publicly destroy any and all fascist paraphenelia you have in your + posession including removal of tattoos and body markings + affiliated with fascist groups or gangs. + +ANTI-FASCIST-MIT LICENSE: + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +The above licence agreement conditions are met in full. + +The Anti-Fascist MIT License may only be used under the terms of the +Anti-Fascist MIT License. + +Any modified versions of this software must also include the +Anti-Fascist MIT Licence. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/monit.conf b/monit.conf new file mode 100644 index 0000000..20665b4 --- /dev/null +++ b/monit.conf @@ -0,0 +1,4 @@ +check process pocketbase with pidfile /tmp/pocketbase.pid + start program = "/usr/local/bin/pocketbased start" + stop program = "/usr/local/bin/pocketbased stop" + if failed host localhost port 8080 3 times within 5 cycles then restart diff --git a/pocketbased.sh b/pocketbased.sh new file mode 100755 index 0000000..239ad0e --- /dev/null +++ b/pocketbased.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +pid=/tmp/pocketbase.pid + +case $1 in + stop) + test -f "${pid}" || exit 0 + cat "${pid}" | xargs kill + rm "${pid}" + ;; + *) + test -f "${pid}" || exit 1 + + daemonize -c /srv/pocketbase -p $pid -u nobody /usr/local/bin/syslogize /usr/bin/pocketbase serve --http=0.0.0.0:8080 --automigrate + ;; +esac