g
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
config.json
 | 
			
		||||
f0ckv2
 | 
			
		||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
[submodule "f0ckv2"]
 | 
			
		||||
	path = f0ckv2
 | 
			
		||||
	url = gitea@git.lat:f0ck/f0ckv2.git
 | 
			
		||||
							
								
								
									
										1
									
								
								conf/locale.gen
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/locale.gen
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
en_US.UTF-8 UTF-8
 | 
			
		||||
							
								
								
									
										84
									
								
								config_example.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								config_example.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,84 @@
 | 
			
		||||
{
 | 
			
		||||
    "main": {
 | 
			
		||||
      "url": {
 | 
			
		||||
        "full": "",
 | 
			
		||||
        "domain": "",
 | 
			
		||||
        "regex": "blah\\.tld"
 | 
			
		||||
      },
 | 
			
		||||
      "socks": "",
 | 
			
		||||
      "maxfilesize": 83886080,
 | 
			
		||||
      "adminmultiplier": 3.5,
 | 
			
		||||
      "ignored": [
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "allowedModes": [ "sfw", "nsfw", "untagged", "all" ],
 | 
			
		||||
    "allowedMimes": [ "audio", "image", "video" ],
 | 
			
		||||
    "nsfp": [ ],
 | 
			
		||||
    "websrv": {
 | 
			
		||||
      "port": "1338",
 | 
			
		||||
      "paths": {
 | 
			
		||||
        "images": "/b",
 | 
			
		||||
        "thumbnails": "/t",
 | 
			
		||||
        "coverarts": "/ca"
 | 
			
		||||
      },
 | 
			
		||||
      "themes": [ "f0ck", "p1nk", "orange", "atmos", "amoled", "paper", "term", "iced", "f0ck95", "f0ck95d" ],
 | 
			
		||||
      "eps": 300,
 | 
			
		||||
      "cache": false,
 | 
			
		||||
      "phrases": [
 | 
			
		||||
      "foo",
 | 
			
		||||
      "bar"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "clients": [{
 | 
			
		||||
    "type": "tg",
 | 
			
		||||
    "enabled": true,
 | 
			
		||||
    "token": "",
 | 
			
		||||
    "pollrate": 1001
 | 
			
		||||
  }, {
 | 
			
		||||
    "type": "irc",
 | 
			
		||||
    "enabled": false,
 | 
			
		||||
    "network": "",
 | 
			
		||||
    "host": "",
 | 
			
		||||
    "port": 6697,
 | 
			
		||||
    "ssl": true,
 | 
			
		||||
    "selfSigned": false,
 | 
			
		||||
    "sasl": false,
 | 
			
		||||
    "nickname": "",
 | 
			
		||||
    "username": "",
 | 
			
		||||
    "password": "",
 | 
			
		||||
    "realname": "",
 | 
			
		||||
    "channels": [
 | 
			
		||||
    ]
 | 
			
		||||
  }],
 | 
			
		||||
  "sql": {
 | 
			
		||||
    "host": "localhost",
 | 
			
		||||
    "user": "",
 | 
			
		||||
    "password": "",
 | 
			
		||||
    "database": "",
 | 
			
		||||
    "multipleStatements": true
 | 
			
		||||
  },
 | 
			
		||||
  "admins": [{
 | 
			
		||||
    "prefix": "",
 | 
			
		||||
    "level": 100
 | 
			
		||||
  }],
 | 
			
		||||
  "mimes": {
 | 
			
		||||
    "image/png": "png",
 | 
			
		||||
    "video/webm": "webm",
 | 
			
		||||
    "image/gif": "gif",
 | 
			
		||||
    "image/jpg": "jpg",
 | 
			
		||||
    "image/jpeg": "jpeg",
 | 
			
		||||
    "image/webp": "webp",
 | 
			
		||||
    "video/mp4": "mp4",
 | 
			
		||||
    "video/quicktime": "mp4",
 | 
			
		||||
    "audio/mpeg": "mpg",
 | 
			
		||||
    "audio/mp3": "mp3",
 | 
			
		||||
    "audio/ogg": "ogg",
 | 
			
		||||
    "audio/opus": "opus",
 | 
			
		||||
    "audio/flac": "flac",
 | 
			
		||||
    "audio/x-flac": "flac",
 | 
			
		||||
    "video/x-m4v": "mp4",
 | 
			
		||||
    "video/x-matroska": "mkv"
 | 
			
		||||
  },
 | 
			
		||||
  "apis": {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
version: '3.5'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  f0ck:
 | 
			
		||||
    container_name: f0ck-dockerv
 | 
			
		||||
    image: f0ck-dockerv4
 | 
			
		||||
    networks:
 | 
			
		||||
      - f0cked
 | 
			
		||||
    volumes:
 | 
			
		||||
      - f0ck-data-b:/opt/f0ckv2/public/f0ck-b
 | 
			
		||||
      - f0ck-data-ca:/opt/f0ckv2/public/f0ck-ca
 | 
			
		||||
      - f0ck-data-t:/opt/f0ckv2/public/f0ck-t
 | 
			
		||||
    ports:
 | 
			
		||||
      - "1338:1338"
 | 
			
		||||
    restart: on-failure
 | 
			
		||||
  postgres:
 | 
			
		||||
    container_name: f0ck_postgres
 | 
			
		||||
    image: postgres
 | 
			
		||||
    environment:
 | 
			
		||||
      POSTGRES_DB: f0ckv2
 | 
			
		||||
      POSTGRES_USER: f0ck
 | 
			
		||||
      POSTGRES_PASSWORD: f0ck
 | 
			
		||||
      PGDATA: /data/postgres
 | 
			
		||||
    volumes:
 | 
			
		||||
       - postgres:/data/postgres
 | 
			
		||||
    ports:
 | 
			
		||||
      - "5432:5432"
 | 
			
		||||
    networks:
 | 
			
		||||
      - f0cked
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
  
 | 
			
		||||
  # pgadmin:
 | 
			
		||||
  #   container_name: pgadmin_container
 | 
			
		||||
  #   image: dpage/pgadmin4
 | 
			
		||||
  #   environment:
 | 
			
		||||
  #     PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
 | 
			
		||||
  #     PGADMIN_CONFIG_SERVER_MODE: 'False'
 | 
			
		||||
  #   volumes:
 | 
			
		||||
  #      - pgadmin:/var/lib/pgadmin
 | 
			
		||||
 | 
			
		||||
  #   ports:
 | 
			
		||||
  #     - "5050:80"
 | 
			
		||||
  #   networks:
 | 
			
		||||
  #     - f0cked
 | 
			
		||||
  #   restart: unless-stopped
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  f0cked:
 | 
			
		||||
    driver: bridge
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
    postgres:
 | 
			
		||||
    f0ck-data-b:
 | 
			
		||||
    f0ck-data-ca:
 | 
			
		||||
    f0ck-data-t:
 | 
			
		||||
							
								
								
									
										11
									
								
								f0ck.dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								f0ck.dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
FROM archlinux
 | 
			
		||||
RUN pacman -Syy --noconfirm
 | 
			
		||||
RUN pacman -S nodejs npm ffmpeg yt-dlp ffmpegthumbnailer postgresql imagemagick git mailcap --noconfirm
 | 
			
		||||
 | 
			
		||||
WORKDIR /opt/f0ckv2
 | 
			
		||||
VOLUME ./f0ckv2 /opt/f0ckv2
 | 
			
		||||
ENTRYPOINT ["npm", "run", "start"]
 | 
			
		||||
COPY f0ckv2/ /opt/f0ckv2
 | 
			
		||||
RUN npm i
 | 
			
		||||
RUN mkdir -p public/ca deleted/{ca,b,t}
 | 
			
		||||
COPY config.json /opt/f0ckv2/
 | 
			
		||||
		Reference in New Issue
	
	Block a user